2017-02-23 8 views
0

Img_subject2とtypescriptに新しい、私のプロジェクトでは文字列変数としてXMLを文字列として扱います。文字列を処理し、XML.Imのノードに従って文字列のデータにアクセスする必要がありますグーグルで困っています。私を助けてください。角度2のXMLデータの解析

<groupDirectory> 
<directoryDetails> 
<userId>extn5001</userId> 
<firstName>Park</firstName> 
<lastName>1</lastName> 
<groupId>communications</groupId> 
<extension>5001</extension> 
</directoryDetails> 
<directoryDetails> 
<userId>Yealinkt27ptest</userId> 
<firstName>Yealink T</firstName> 
<lastName>27P</lastName> 
<groupId>communications</groupId> 
<extension>4676</extension> 
</directoryDetails> 
<groupDirectory> 

これは私がノードなどに応じてデータにアクセスする必要がprocess.iする必要があるxmlです:

答えて

0

から名前あなたのアプリケーションをブートストラップするためにangular-cliを使用する場合 - 次のXMLパーサーは、プロジェクトのインストールにすでに付属しています。

https://github.com/Leonidas-from-XIV/node-xml2js

だから、このための余分なモジュールを追加する必要はありません。それは古典的なcommonJSモジュールであるとして - あなたはそれをインポートするrequireを使う必要があります。

let parseString = require('xml2js').parseString; 

だからあなたのコードは次のように見えることができます:

let parseString = require('xml2js').parseString; 
let xml = "<root>Hello xml2js!</root>" 

parseString(xml, function (err, result) { 
    console.dir(result); 
}); 

あなたは次の出力を受け取ります:

enter image description here

いずれにしても、角度cliを使用しない場合や、xmlを解析するためにprefferedモジュールを使用する場合は、requireを使用してロードしてください。

+0

"let"を使用するとエラーが発生します。 – biff

+0

は 'let'の代わりに' var'を使います。あなたはあなたのプロジェクトでtypescript/es6を使わないのですか? – VadimB

+0

ya私はそれを持っている...私はノードからデータにアクセスすることができます別の疑いがある – biff

0

今日までに、(node-xml2jsを示唆している)他の回答の推奨コードは機能しませんでした。 の代わりに:

let parseString = require('xml2js').parseString; 

私が使用:

import { parseString } from 'xml2js'; 

残りの部分はOKでした。 Angular-Cliが使用されています。

関連する問題