javascript - 使用javascript遍历xml

标签 javascript xml xslt

<links>
    <osname name="windows xp" links="xyz" />
    <osname name="windows 2k" links="xyz" />
</links>
<owners name="microsoft">
    <os name="windows xp" />
    <os name="windows 2k" />
    <os name="windows 2003" />
    <os name="windows 7" />
</owners>
<owners name="microsoft">
    <os name="windows xp" />
    <os name="windows 95" />
    <os name="windows 98" />
    <os name="windows vista" />
</owners>

Javascript

它应该从 links->osname 获取链接并将其与 owners->os =>name 相匹配

并且操作系统名称应该只出现一次,以后不应重复。

提前致谢

最佳答案

假设以上内容存储在变量 txt 中:

if (window.DOMParser) {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(txt,"text/xml");
} else {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(txt); 
}

然后访问您在 javascript 中提供的 XML:

// links.osname[0].attribute(name)
xmlDoc.childNodes[0].childNodes[0].getAttribute('name');
// outputs: windows xp

// owners.os[2].attribute(name)
xmlDoc.childNodes[1].childNodes[2].getAttribute('name');
// outputs: windows 2003

网上有很多代码解释了这一切(另请参阅:getNamedItemgetElementsByTagNamenodeValue ... 以及更多)

遍历:

for(i=0;i<xmlDoc.childeNodes[1].childNodes.length;i++) {
  //Access each node in the set:
  xmlDoc.childNodes[1].childNodes[i]
}

关于javascript - 使用javascript遍历xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619740/

相关文章:

javascript - 如何在javascript中搜索列表中的元素?

javascript - 如何修复 Javascript HTML 函数内的 onfocus 引号 this.id?

javascript - 变量未在脚本字符串中更新,但它会更新

android - XML 文档是否可以包含 2 个具有相同 ID 的元素?

java - 根据 Eclipse 中通过 JAXB 和 XSD 构建选项生成的 xsd 文件验证 xml

xml - 使用 XSLT 检查节点是否存在

javascript - youtube 数据 api 和 node.js 错误 : Required parameter: part

python - 如何在odoo中为qweb-pdf页面添加边框?

XML XSLT 命名空间

XSLT::结果文档