XML DOM – 访问节点概述
通过 DOM,能够访问 XML 文档中的每个节点。 |
访问节点
您可以通过三种方式来访问节点:
- 通过使用 getElementsByTagName() 方法。
- 通过循环(遍历)节点树。
- 通过利用节点的关系在节点树中导航。
getElementsByTagName() 方法
getElementsByTagName() 返回拥有指定标签名的所有元素。
语法
node.getElementsByTagName("tagname");
实例
下面的实例返回 x 元素下的所有 <title> 元素:
x.getElementsByTagName("title");
请注意,上面的实例仅返回 x 节点下的 <title>元素。如需返回 XML 文档中的所有 <title> 元素,请使用:
xmlDoc.getElementsByTagName("title");
在这里,xmlDoc 就是文档本身(文档节点)。
DOM 节点列表(Node List)
getElementsByTagName() 方法返回节点列表。节点列表是节点的数组。
下面的代码使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中,然后在变量 x 中存储 <title>节点的一个列表:
xmlDoc=loadXMLDoc("books.xml");x=xmlDoc.getElementsByTagName("title");
可通过索引号访问 x 中的 <title> 元素。如需访问第三个<title>,您可以编写:
y=x[2];
注意:该索引从 0 开始。
在本教程后面的章节中,您将学习更多有关节点列表(Node List)的知识。
DOM 节点列表长度(Node List Length)
length 属性定义节点列表的长度(即节点的数量)。
您可以通过使用 length 属性来遍历节点列表:
实例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;i<x.length;i++) {document.write(x[i].childNodes[0].nodeValue);document.write(""); }
实例解释:
- 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取所有
- 输出每个
节点类型(Node Types)
XML 文档的 documentElement 属性是根节点。
节点的 nodeName 属性是节点的名称。
节点的 nodeType 属性是节点的类型。
遍历节点
下面的代码遍历根节点的子节点,同时也是元素节点:
实例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) {if (x[i].nodeType==1){// 执行一次document.write(x[i].nodeName);document.write("");} }
实例解释:
- 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取根元素的子节点
- 检查每个子节点的节点类型。如果节点类型是 "1",则是元素节点
- 如果是元素节点,则输出节点的名称
导航节点的关系
下面的代码使用节点关系导航节点树:
实例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i<x.length;i++) {if (y.nodeType==1){// 输出节点名document.write(y.nodeName + "");}y=y.nextSibling; }
- 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取第一个 book 元素的子节点
- 把 "y" 变量设置为第一个 book 元素的第一个子节点
- 对于每个子节点(第一个子节点从 "y" 开始),检查节点类型,如果节点类型为 "1",则是元素节点
- 如果是元素节点,则输出该节点的名称
- 把 "y" 变量设置为下一个同级节点,并再次运行循环
XML DOM – 访问节点概述相关推荐
- XML DOM – 导航节点概述
通过节点间的关系访问节点树中的节点,通常称为导航节点("navigating nodes").可通过使用节点间的关系对节点进行导航. 导航 DOM 节点 通过节点间的关系访问节点树 ...
- XML DOM 访问节点
http://www.w3school.com.cn/xmldom/dom_nodes_access.asp 转载于:https://www.cnblogs.com/yoyov5123/archive ...
- XML DOM 解析器概述
大多数浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 JavaScript 可存取的对象(XML DOM). XML 解析器 XML DOM 包含了遍历 XML 树, ...
- python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?
我有一个使用xml.dom.minidom创建的nodes xml.dom.Node对象的集合.通过使用Node对象的toxml()方法将它们转换为字符串,我将它们(单独)存储在数据库中. 问题是,有 ...
- html dom 替换节点,XML DOM替换节点
在本章中,我们将学习XML DOM对象中的替换节点操作.DOM中的所有内容都保存在分层信息单元中,替换节点提供了另一种更新这些指定节点或文本节点的方法. 以下是替换节点的两个方法 - replaceC ...
- html 访问节点,HTML DOM 访问节点
getElementById() 和 getElementsByTagName() getElementById() 和 getElementsByTagName() 这两种方法,可查找整个 HTML ...
- XML能否替换HTML,XML DOM
XML DOM 替换节点 replaceChild() 方法替换指定节点. nodeValue 属性替换文本节点中的文本. 尝试一下 - 实例 下面的实例使用 XML 文件 books.xml. 函数 ...
- XML DOM – 属性和方法概述
属性和方法向 XML DOM 定义了编程接口. 编程接口 DOM 把 XML 模拟为一系列节点对象.可通过 JavaScript 或其他编程语言来访问节点.在本教程中,我们使用 JavaScript. ...
- 一些重要的 XML DOM 方法概述
DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法.在本章中我们将介绍一些其他重要的 XML DOM 方法. 获取元素的值 下面的实例中使用的 XML 文 ...
最新文章
- 解决网页ICON图标无法显示的问题
- mnist数据集彩色图像_使用MNIST数据集构建多类图像分类模型。
- leetcode442. 数组中重复的数据
- 2011年三八妇女节搜索引擎LOGO设计欣赏
- textbox 和textera 文本框多行后不能拉伸
- java终结者,动态语言是否会成为JAVA的终结者?
- tf.assign() 更新ref通过给它重新赋值
- matlab的annotation,科学网—annotation in matlab Graph - 夏靖的博文
- 你有进一步深入理解二分查找吗?
- 如何在VS2013中隐藏引用计数?
- 三维点云学习(3)1-聚类数学理论
- python cursor函数_执行从python返回cursor的db2plsql函数
- Android相对属性布局总结
- 综合布线系统入门及应用(一)
- 锤子手机T2发布会PPT模板
- 搜集了一些AIDA64的GPGPU测试结果,现整理成表格共享
- PCL_点云数据处理方法概述
- word 2016插入空白页页眉的办法
- 傲梅轻松克隆系统盘备份
- 车辆搜索 -使用triplet loss 训练车辆识别模型
热门文章
- 普林斯顿中国籍教授:中国学生是怎样被一步步淘汰掉的?
- Linux内核网络栈1.2.13-网卡设备的初始化流程
- SPU表管理之保存SPU表数据
- 王爽 汇编语言第三版 监测点9.2 监测点9.3 补全编程,利用jcxz指令,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,
- maven的setting.xml文件配置信息【仅仅更改了一处】
- Python爬虫利器之Beautiful Soup的用法,以及实例!
- KNN学习之图像分类与KNN原理
- 值得一看的文本检测方法
- 用OpenCV搭建活体检测器
- 从零开始一起学习SLAM | 为什么要用齐次坐标?