XML DOM 获取节点值
nodeValue 属性用于获取节点的文本值。
getAttribute() 方法返回属性的值。
获取元素的值
在 DOM 中,一切都是节点。元素节点没有文本值。
元素节点的文本值存储在一个子节点中。这个节点被称为文本节点。
要检索元素的文本值,您必须检索元素的文本节点的值。
getElementsByTagName 方法
getElementsByTagName() 方法返回一个所有元素的节点列表,这些元素具有指定的标签名称,并且按照它们在源文档中出现的顺序排列。
假设 books.xml 已经加载到 xmlDoc 中。
此代码检索第一个 <title> 元素
var x = xmlDoc.getElementsByTagName("title")[0];
ChildNodes 属性
childNodes 属性返回一个元素的子节点列表。
以下代码检索第一个 <title> 元素的文本节点
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
nodeValue 属性
nodeValue 属性返回文本节点的文本值。
以下代码检索第一个 <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()
getAttribute() 方法返回属性的值。
以下代码检索第一个 <title> 元素的“lang”属性的文本值
txt 中的结果: "en"
遍历所有 <book> 元素并获取它们的“category”属性:亲自尝试
获取属性值 - getAttributeNode()
getAttributeNode() 方法返回一个属性节点。
以下代码检索第一个 <title> 元素的“lang”属性的文本值
示例
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
自己动手试一试 »
txt 中的结果 = "en"
遍历所有 <book> 元素并获取它们的“category”属性:亲自尝试