欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【XML教程:XML DOM 访问节点】,下面是详细的分享!
XML教程: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文档中的根节点。
以上所分享的是关于XML教程:XML DOM 访问节点,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何取出xml中节点的名字?
答:利用xslt 取出XML文件中所有 节点名字 节点值 属性名字 属性值 '创建DOM对象 set objDom=server.CreateObject("MicroSoft.XMLDom") '取得xml数据 '方法1 取得xml文件的xml数据 objDom.load("c:\test.xml") '方法2 取得xml数据串的数据 objDom.lo... >>详细
相关问题:js怎么获取xml里某个节点的值并输出
答:1、用 childNodes 属性,按顺序取 实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。 //pId 待取节点父节点序号//cId 待取节点序号 func... >>详细
相关问题:java解析xml时如何获得一个节点下相同叶子节点的值...
答: // 获得根节点 Element root = document.getRootElement(); // 遍历所有movie节点 for (Iterator itemMovie = root.elementIterator(); itemMovie .hasNext();) { // 得到movie节点 Element movie = itemMovie.next(); // 遍历遍历movie下的所... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
