【发布时间】:2016-08-04 11:13:54
【问题描述】:
我是否需要解析我的 xml 以从 xml 中获取数据以在 html 中呈现?我目前正在使用 http.get 请求获取本地 .xml 文件,并在控制台日志中显示 xml 文件中的所有信息,我认为它只是在读取它。
问题是angular2中如何将xml转换成json格式?
我尝试了console.log(data.title),但这让我返回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>
使用下面的答案
var parser = new DOMParser();
xmlData = parser.parseFromString(data, "application/xml");
上述代码的console.log:
目前正在执行 for 循环来迭代解析的 xml,但在我看来它只给了我一个对象。 ngFor 只迭代数组中的对象。
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);
}
查看:
<li>{{ title }}</li>
【问题讨论】:
-
当你付出时会发生什么,
console.log(data[0].title) -
如果我做 data[0] 它只显示我
标签: javascript html xml angular