使用 DOM,您可以访问 XML 文档中的每个节点。
您可以通过三种方式访问节点:
getElementsByTagName() 返回具有指定标签名称的所有元素。
node.getElementsByTagName("
tagname");
以下示例返回 x 元素下的所有 <title> 元素:
x.getElementsByTagName("title");
请注意,上面的示例仅返回 x 节点下的 <title> 元素。要返回 XML 文档中的所有 <title> 元素,请使用:
xmlDoc.getElementsByTagName("title");
其中 xmlDoc 是文档本身(文档节点)。
getElementsByTagName() 方法返回节点列表。节点列表是节点的数组。
x = xmlDoc.getElementsByTagName("title");
x 中的 <title> 元素可以通过索引号访问。要访问第三个<title>,您可以编写::
y = x[2];
笔记:索引从 0 开始。
length 属性定义节点列表的长度(节点数)。
您可以使用 length 属性循环遍历节点列表:
var x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
// do something for each node
}
亲自试一试 »
这个文档元素XML文档的属性是根节点。
这个节点名节点的属性是节点的名称。
这个节点类型节点的属性是节点的类型。
您将在本教程的下一章中了解有关节点属性的更多信息。
以下代码循环遍历根节点的子节点,这些子节点也是元素节点:
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++) {
// Process only element nodes (type 1)
if (x[i].nodeType == 1) {
txt += x[i].nodeName + "<br>";
}
}
亲自试一试 »
示例解释:
以下代码使用节点关系导航节点树:
x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++) {
// Process only element nodes (type 1)
if (y.nodeType == 1) {
txt += y.nodeName + "<br>";
}
y = y.nextSibling;
}
亲自试一试 »
示例解释:
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!