Kware XML DOM Yaro Ayya
通过 DOM,您能够访问 XML 文档中的每个节点。
实例
下面的例子使用 XML 文件 books.xml.
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
- 使用节点列表中的下标号来访问节点
- 本例使用 getElementsByTagname() 方法来获得 "books.xml" 中的第三个 <title> 元素。
- 使用 length 属性来循环节点
- 本例使用 length 属性来循环 "books.xml" 中的所有 <title> 元素。
- 查看元素的节点类型
- 本例使用 nodeType 属性来获得 "books.xml" 中根元素的节点类型。
- 循环元素节点
- 本例使用 nodeType 属性来处理 "books.xml" 中的元素节点。
- 使用节点的关系来循环元素节点
- 本例使用 nodeType 属性和 nextSibling 属性来处理 "books.xml" 中的元素节点。
访问节点
您可以通过三种方法来访问节点:
- 通过使用 getElementsByTagName() 方法
- 通过循环(遍历)节点树
- 通过利用节点的关系在节点树中导航
getElementsByTagName() فاعلية
getElementsByTagName() 返回拥有指定标签名的所有元素。
فوغو
node.getElementsByTagName("tagname");
实例
下面的例子返回 x 元素下的所有
x.getElementsByTagName("title");
请注意,上面的例子仅返回 x 节点下的
xmlDoc.getElementsByTagName("title");
在这里,xmlDoc 就是文档本身(文档节点)。
DOM Node List
getElementsByTagName() 方法返回节点列表 (node list)。节点列表是节点的数组。
下面的代码通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中,然后在变量 x 中存储
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
可通过下标访问 x 中的
y=x[2];
注释:下标以 0 起始。
在本教程中稍后的章节,您将学到更多有关 Node List 的知识。
DOM Node List Length
length 属性定义节点列表的长度(即节点的数目)。
您能够通过使用 length 属性来循环一个节点列表:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;iTsa fa tsile:
- 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc
- 取得所有
元素节点 - 输出每个
元素的文本节点的值
Node Type
Tsofiya tsa XML tsa documentElement Tsofiya ke tsahe tsa tseba tsa tlebe.
tsofiya tsa nodeName Tsofiya ke tsahe tsa tlebe tsa tsofiya.
tsofiya tsa nodeType Tsofiya ke tsahe tsa tsofiya.
Mai ba le taala fa tsile tsa tseba tsa tsofiya tsa tlebe le tsheya.
Lebelela tsofiya
Kode tse di ba tlele tsa tsofiya tsa tseba, kane tsa element:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;iTsa fa tsile:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- Obta tsofiya tsa tseba
- Tseka kowane tsofiya tsa tsheya. Fa tsahe tsa tsofiya ke "1", ho ba tsa tsheya tse element
- 如果是元素节点,则输出节点的名称
利用节点的关系进行导航
下面的代码通过利用节点的关系在节点树中进行导航:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i"); } y=y.nextSibling; }
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获得第一个 book 元素的子节点
- 把 "y" 变量设置为第一个 book 元素的第一个子节点
- 检查每个子节点的节点类型,如果节点类型是 "1",则是元素节点
- 如果是元素节点,则输出该节点的名称
- 把 "y" 变量设置为下一个同级节点,并再次运行循环