Parsen von xml in angular2 gerendert werden in der Ansicht

Muss ich Parsen meiner xml, um die Daten aus der xml zu Rendern in die html? Ich bin derzeit immer eine lokale .xml-Datei mit http.get Anfrage und in der Konsole melden Sie Ihr zeigt alle die Informationen, die in der xml-Datei, die ich denke, es ist nur, es zu Lesen.

Frage, wie das konvertieren von xml in json-format in angular2?

Ich habe versucht, die console.log(data.title) aber dies ist Rückkehr mich als unidentified

getXml() {
   this.http.get('../../xmlConf/dashboard_journey.xml')
    .map(response => response.text())
    .subscribe(data => {
        if(data) {
            console.log('fetching your xml');
            console.log(data); //this shows me everything
        }
    });
}

xml

<xml>
<journey>
    <title>Click and Collect</title>
    <shortDesc>
        <short_desc_1>lorem</short_desc_1>
        <short_desc_2>lorem</short_desc_2>
    </shortDesc>
    <longDesc>
        lorem
    </longDesc>
    <imageName>
        <img src="/journey_images/clickandcollect.jpg" alt="Click and Collect"/>
    </imageName>
</journey>

Mit der Antwort unten

var parser = new DOMParser();
xmlData = parser.parseFromString(data, "application/xml");

Konsole.Protokoll der obige code:

Parsen von xml in angular2 gerendert werden in der Ansicht

Derzeit dabei die for-Schleife zum Durchlaufen der geparsten xml, jedoch meiner Ansicht nach nur geben Sie mir ein Objekt. ngFor nur iteriert Objekte in einem array.

for (var i = 0; i <= newFormat.childNodes.length; i++) {
                this.title = newFormat.getElementsByTagName('title')[i].childNodes[0].nodeValue;
                this.desc = newFormat.getElementsByTagName('desc')[i].childNodes[0].nodeValue;
                console.log(this.title + ' = ' +  this.desc);
            }

anzeigen:

<li>{{ title }}</li>
  • Was passiert, wenn Sie geben, console.log(data[0].title)
  • wenn ich data[0] nur zeigt mir < also ich denke, dass ich konvertieren müssen diese xml-Daten in json.
InformationsquelleAutor nCore | 2016-08-04
Schreibe einen Kommentar