独上高楼网站
  •    你所在位置:首页 VS.netXMLXML基础教程〉XML基础教程:XML DOM 访问节点
  • XML基础教程:XML DOM 访问节点
  • 作者:佚名  文章来源:ttp://www.w3school.com.cn  发布日期:2008-03-06  浏览次数:215
  • 打印这篇文章
  • XML DOM 访问节点

    通过DOM,您可以访问XML文档中的每个节点。

    查找并访问节点

    你可通过若干种方法来查找您希望操作的元素:

    • 通过使用getElementsByTagName()方法
    • 通过使用一个元素节点的parentNode、firstChild以及lastChild属性

    getElementsByTagName()

    getElementsByTagName()方法可在整个文档中查找任何XML元素。

    此方法会忽略文档的结构。假如你文档中所有< book>元素,getElementsByTagName()方法会全部找出它们,不管这些< book>元素位于哪个级别。

    就是说,这个方法会给您任何您所需要的XML元素,不论它们所处的位置!

    getElementsByTagName()方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。

    getElementsByTagName()可用于任何XML元素:

    getElementsByTagName() 语法

    getElementsByTagName("tagname");

    例子

    下面这个例子会返回文档中所有< book>元素的一个节点列表:

    xmlDoc.getElementsByTagName("book"); 

    节点列表

    当使用某个节点列表时,我们通常会把此列表存储在一个变量中,就像这样:

    var x=xmlDoc.getElementsByTagName("book");

    现在,变量x包含着页面中所有< book>元素的一个列表,并且我们可通过它们的索引号莱访问这些< book>元素。

    注释:索引起始于0。

    您可以通过使用length属性来循环遍历节点列表:

    var x=xmlDoc.getElementsByTagName("book");
    for (var i=0;i< x.length;i++)
      { 
      // do something with each < book> element
      }
    

    您也可以通过使用索引号莱访问某个具体的元素。

    要访问第三个< book>元素,您可以这样写:

    var y=x[2];

    parentNode、firstChild以及lastChild

    属性parentNode、firstChild以及lastChild会遵循文档的结构,可在文档中继续进行短距离的旅行。

    请看下面的XML片段:

    < bookstore>
      < book category="COOKING">
        < title lang="en">Everyday Italian< /title> 
        < author>Giada De Laurentiis< /author> 
        < year>2005< /year> 
        < price>30.00< /price> 
      < /book>
    < /bookstore>
    

    在上面的XML代码中,< title>元素是< book>元素的首个子元素(firstChild),< price>元素是< book>元素的最后一个子元素(lastChild)。

    同时,< book>元素是< title>、< author>、< year>以及< price>元素的父节点(parentNode)

    根节点

    有一个特殊的文档属性可用来访问这些标签:

    • document.documentElement

    此属性可返回存在于XML和HTML文档中的根节点。

  • 打印这篇文章
  • 与本文主题相关的文章
  • 返回首页