javascript - 解析angular2中的xml以在 View 中呈现

标签 javascript html xml angular

我是否需要解析我的 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:

enter image description here

目前正在执行 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>

最佳答案

您可以使用 DOMParser

您只需将数据变量传递给 DOMParser,然后您就可以通过引用访问元素

示例

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

关于javascript - 解析angular2中的xml以在 View 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38765805/

相关文章:

html - meta 标签应该是 HTML 编码的吗?

java - 在android上的开放网络套接字上解析XML

java - 在 Sax 解析器 (XML) 中处理外部实体和样式表

javascript - js数学答案验证

javascript - 配置defaultNavigationOption headerBackImage会抛出undefined

javascript - 如何查找属性的 set/get 函数 (Object.defineProperty)

c# - 如何在 Windows Phone 7 中解析 Soap XML

javascript - 鲍西斯 + Node.js

javascript - 修复了 ios 上的导航在水平滚动时移动的问题

python - 如何提取div中的特定链接?