您现在的位置: 365建站网 > 建站教程 > XML DOM 教程 > XML DOM 获取节点值

XML DOM 获取节点值

此节有 142 人学习过     参与评论

nodeValue 属性用于获取节点的文本值。

getAttribute() 方法返回属性的值。

实例

下面的例子使用 XML 文件 books.xml

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

获取元素的值
本例使用 getElementsByTagname() 获取 "books.xml" 中第一个 <title> 元素。
获取属性的值
本例使用 getAttribute() 方法获取 "books.xml" 中第一个 <title> 元素的 "lang" 属性的值。

获取元素的值

在 DOM 中,每种成分都是节点。元素节点没有文本值。

元素节点的文本存储在子节点中。该节点称为文本节点。

获取元素文本的方法,就是获取这个子节点(文本节点)的值。

获取元素值

getElementsByTagName() 方法返回包含拥有指定标签名的所有元素的节点列表,其中的元素的顺序是它们在源文档中出现的顺序。

下面的代码通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中,并检索第一个 <title> 元素:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0];

childNodes 属性返回子节点的列表。<title> 元素只有一个子节点,即一个文本节点。

下面的代码检索 <title> 元素的文本节点:

x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];

nodeValue 属性返回文本节点的文本值:

x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];
txt=y.nodeValue;

结果:txt = "Harry Potter"

亲自试一试

遍历所有 <title> 元素:亲自试一试

获取属性的值

在 DOM 中,属性也是节点。与元素节点不同,属性节点拥有文本值。

获取属性的值的方法,就是获取它的文本值。

可以通过使用 getAttribute() 方法或属性节点的 nodeValue 属性来完成这个任务。

获取属性值 - getAttribute()

getAttribute() 方法返回属性的值。

下面的代码检索第一个 <title> 元素的 "lang" 属性的文本值:

xmlDoc=loadXMLDoc("books.xml");

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

结果:txt = "en"

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 把 txt 变量设置为第一个 title 元素节点的 "lang" 属性的值

亲自试一试

遍历所有 <book> 元素,并获取它们的 "category" 属性:亲自试一试

获取属性值 - getAttributeNode()

getAttributeNode() 方法返回属性节点。

下面代码检索第一个 <title> 元素的 "lang" 属性的文本值:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

结果:txt = "en"

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的 "lang" 属性节点
  • 把 txt 变量设置为属性的值

亲自试一试

循环所有 <book> 元素并获取它们的 "category" 属性:亲自试一试

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (142人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------
XML DOM 教程目录

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号