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.
