如何获得所有的一级嵌套节点在XML?

我正在使用Node.js项目。 我正在使用DOMparsing器。

var parser = new DOMParser(); var xmldoc = parser.parseFromString(xml,"text/xml"); 

这里XML是string。

我想读取所有的第一级子节点(不在子级节点)。

  Node (1) Node (2) Node (3) Node (4) 

我坚持阅读节点。 所有的节点都是相同的名称嵌套。

我正在使用querySelectorAll(“节点”)。 它获取所有的嵌套节点。

如何读取所有的第一级子示例:Node2,Node4?

任何一个人帮助我?

提前致谢。

更新:

  Node (1) other node ExampleNode ExampleNode Node (2) Node (3) Node (4) ExampleNode 

扩大我的评论。

DOMParser可以将存储在string中的XML或HTML源代码parsing为DOM。

一旦我们有一个DOM,那么我们有所有可用的文档方法,包括标准的DOM树遍历。

如何获得所有的一级嵌套节点在XML?

通过DOM遍历

 var xmlString = '<node>(1)<node>(2)<node>(3)</node></node><node>(4)</node></node>', parser = new DOMParser(), xmldoc = parser.parseFromString(xmlString, 'text/xml'), firstLevel = xmldoc.children[0].children, pre = document.getElementById('out'); pre.textContent = 'Number of first level nodes: ' + firstLevel.length + '\n'; [].forEach.call(firstLevel, function (node) { pre.textContent += 'node text: ' + node.firstChild.textContent + '\n'; }); 
 <pre id="out"></pre> 

您可以使用xpath来获取作为node元素的直接子 node元素,例如:

 var xmlString = '<node>1<node>2<node>3</node></node><node>4</node></node>'; var doc = new DOMParser().parseFromString(xmlString, 'text/xml'); var result = doc.evaluate('/node/node', doc, null, XPathResult.ANY_TYPE , null); var message = "Direct child nodes in this XML document are: ";//} for(var node = result.iterateNext(); node; node = result.iterateNext()) { message += node.textContent + ", "; } $('#output').text(message); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="output"></div>