在JavaScript中显示节点

时间:2011-04-03 10:12:06

标签: javascript xml nodes

我需要遍历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

等等。但没有任何结果。你能建议解决这个问题吗?

1 个答案:

答案 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