导航节点的关系

简介: 这段代码演示了如何在XML文档中遍历`<book>`元素的子节点。通过`loadXMLDoc()`加载"books.xml",然后获取第一个`<book>`元素的所有子节点。使用`firstChild`属性设置初始指针`y`,循环遍历子节点,检查节点类型,若为元素节点(类型为1),则输出节点名称。每次循环后,`y`更新为下一个同级节点。

导航节点的关系

下面的代码使用节点关系导航节点树:
实例
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" 变量设置为下一个同级节点,并再次运行循环

相关文章
|
API Apache
性能工具之JMeter5.0核心类JMeterEngine源码分析
【5月更文挑战第17天】性能工具之JMeter5.0核心类JMeterEngine源码分析
337 4
性能工具之JMeter5.0核心类JMeterEngine源码分析
|
存储 Linux 虚拟化
轻量服务器
【10月更文挑战第19天】
534 1
|
存储 监控 C++
cout.tellp()和cout.seekp()语法介绍
C++ 中的 `cout.tellp()` 用于获取输出流缓冲区的当前位置,而 `seekp()` 可以改变这个位置。数据先存入缓冲区,待缓冲区刷新后才输出。`tellp()` 返回一个表示位置的 `streampos`(通常可转换为整数),在无数据时为0,失败时为-1。`seekp()` 用于设置下一个字符的输出位置,接受一个位置参数或偏移量和方向,允许在缓冲区中移动并覆盖已有数据。例如,可以使用 `seekp()` 改变输出流中的部分数据,然后继续写入。
187 12
成员内部类、静态内部类、局部内部类、匿名内部类的精髓与应用
成员内部类、静态内部类、局部内部类、匿名内部类的精髓与应用
286 0
java使用HashMap对文件进行排序并输出
java使用HashMap对文件进行排序并输出
127 0
|
消息中间件 存储 数据库
深度剖析 RocketMQ 5.0,流数据库:如何实现一体化流处理?
本文将从概念和宏观角度理解什么是流处理。 RocketMQ 5.0,学习 RocketMQ 提供的轻量流处理引擎 RStreams,了解其特性和原理。学习 RocketMQ 的流数据库 RSQLDB,通过流存储和流计算的深度结合,看它如何进一步降低流处理使用门槛。
79415 0
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
|
C++ 计算机视觉
Opencv(C++)系列学习---读取视频文件和打开摄像头
Opencv(C++)系列学习---读取视频文件和打开摄像头
837 0
|
前端开发 数据处理 网络架构
计算机网络的发展历史
计算机网络的发展历史。
523 2