我需要遍历XML文档并显示满足特定条件的节点。我能够通过http获取文件并获得满足条件的节点。但我无法在屏幕上展示这些内容,也无法看到它们。
我尝试了所有不同的方法,但徒劳无功,
XML结构:
<routeElement>
<Service>
<name>RetrieveEmployeeDetailV001</name>
</Service>
<Service>
<name>RetrieveEmployeeAccountDetailV001</name>
</Service>
</routeElement>
这是我坚持的代码......
xmlDocument.setProperty("SelectionLanguage", "XPath");
finalData=xmlDocument.selectNodes("//service");
我使用不同的方法来访问finalData的子节点。
finalData[0].childNodes[0].nodeValue;
finalData.childNodes[0].nodeValue;
finalData[0].getElementByTagName("service");
finalData[0].firstChild
等等。但没有任何结果。你能建议解决这个问题吗?
答案 0 :(得分:1)
如果要选择带有javascript / xpath的节点,可以使用document.evaluate
。类似的东西:
var xresult = document.evaluate('//service',xmlDocument, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null),
result,
ret = [];
while (result = xresult.iterateNext()) {
ret.push(result);
};
//=> the `ret`-array should contain the nodes you searched
这适用于大多数浏览器,IE除外。对于IE使用SelectNodes
或者我认为常规DOM方法应该有效,在这种情况下xmlDocument.getElementsByTagName('service')
会返回NodeList