目录

XML DOM 获取节点值


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

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


获取元素的值

在 DOM 中,一切都是节点。元素节点没有文本值。

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

要检索元素的文本值,您必须检索元素的文本节点的值。


getElementsByTagName 方法

这个getElementsByTagName()方法返回一个所有元素的节点列表,具有指定的标签名称,其顺序与它们在源文档中出现的顺序相同。

认为书籍.xml已加载到 xmlDoc 中。

此代码检索第一个 <title> 元素:

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

ChildNodes 属性

这个子节点属性返回一个元素的子节点列表

以下代码检索第一个 <title> 元素的文本节点:

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

节点值属性

这个节点值属性返回文本节点的文本值

以下代码检索第一个 <title> 元素的文本节点的文本值:

示例

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

z 的结果:"Everyday Italian"



完整示例

示例

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName('title')[0];
    var y = x.childNodes[0];
    document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>

</body>
</html>
亲自试一试 »

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


获取属性的值

在 DOM 中,属性就是节点。与元素节点不同,属性节点具有文​​本值。

获取属性值的方法是获取其文本值。

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


获取属性值 - getAttribute()

这个获取属性()方法返回一个属性的值

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

示例

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
亲自试一试 »

txt 中的结果:"en"

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


获取属性值 - getAttributeNode()

这个获取属性节点()方法返回一个属性节点

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

示例

x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
亲自试一试 »

结果为 txt = "en"

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