XML-dataanalys i Angular 2


Jag är ny på AngularJS2 och TypeScript. I mitt projekt har jag en strängvariabel som innehåller XML som en sträng. Jag behöver bearbeta strängen och komma åt datan i strängen enligt noderna i XML. Jag har haft svårt att hitta hjälp genom att googla. Snälla hjälp mig.

<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>

detta är xml-filen jag behöver bearbeta. Jag behöver komma åt data enligt noder t.ex.: namn från

Svar #1

Fram till idag fungerade inte den föreslagna koden i det andra svaret (som föreslår node-xml2js). Istället för:

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

Jag använde:

import { parseString } from 'xml2js';

Den återstående delen var okej. Angular-cli användes.

Svar #2

Om du använder angular-cli för att bootstrapa din applikation - nästa XML-parser följer redan med projektinstallationen.

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

Så du behöver inte lägga till extra moduler för detta. Eftersom det är en klassisk commonJS-modul - behöver du använda require för att importera den:

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

Så din kod kan se ut så här:

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

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

Du kommer att få nästa utskrift:

I alla fall - om du inte ens använder angular-cli eller vill använda ditt föredragna modul för att tolka xml - använd require för att ladda det.