<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
网上有很多代码解释了这一切(另请参阅:getNamedItem
、getElementsByTagName
、nodeValue
... 以及更多)
遍历:
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/