如何访问DOM中的元素?

时间:2011-10-21 04:25:14

标签: xml dom web

所以我有这个xml文件:

<root>
   <node>
      <name>One</name>
      <val>1</val>
   </node>
   <node>
      <name>Two</name>
      <val>2</val>
   </node>
   <node>
      <name>Three</name>
      <val>3</val>
   </node>
</root>

根据我的理解,为了访问所有节点,我需要使用getElementsByName(“node”)来获取节点列表;

现在,一旦我获得了该列表,我该如何访问所有子元素?我不确定我是否正确这样做。

基本上我需要循环遍历所有节点元素,并且每个节点元素需要取出名称和值,因为我使用它们来调用另一个函数。

2 个答案:

答案 0 :(得分:0)

如果x是节点对象,那么您可以使用属性x.childNodes,它将为您提供Node x的所有子元素的列表。 然后你可以访问y.nodeValue,其中y是子节点以获取节点的值。

答案 1 :(得分:0)

如果可能,您可以使用DOM Traversal API:http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html

在java中,它会是这样的:

Document doc = ...;
NodeIterator i = ((DocumentTraversal) doc).createNodeIterator(doc,
NodeFilter.SHOW_ELEMENT, null, false);
Element e = null;
while ((e = (Element) i.nextNode()) != null) {
   System.out.println(e.getTagName());
}

如果实现了遍历API,JavaScript应该有类似的东西。