📅  最后修改于: 2023-12-03 14:48:38.408000             🧑  作者: Mango
XML DOM (XML Document Object Model) 是一种树状的数据结构,用于存储和操作XML文档。它定义了XML文档中各个元素、属性、文本等的层级关系和表示方法。
在JavaScript中,可以使用以下代码创建XML DOM对象:
var xmlDoc = new DOMParser().parseFromString(xmlString, "text/xml");
这里的xmlString是XML字符串,它会被解析成XML DOM对象xmlDoc。使用XML DOM对象,可以对XML文档进行增删改查等操作。例如,以下代码可以获取XML文档中所有名为“book”的元素:
var books = xmlDoc.getElementsByTagName("book");
XML DOM的层级结构如下图所示:
在XML DOM中,文档本身是一个节点,根元素是文档的第一个子节点,其他元素、属性、文本等都是节点的子元素。
以下是XML DOM节点常用的属性和方法:
以下是XML DOM节点可能的类型:
以下是一个简单的XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<booklist>
<book id="1">
<title>Harry Potter and the Philosopher's Stone</title>
<author>J.K. Rowling</author>
<price>20.0</price>
</book>
<book id="2">
<title>The Hobbit</title>
<author>J.R.R. Tolkien</author>
<price>18.0</price>
</book>
<book id="3">
<title>The Da Vinci Code</title>
<author>Dan Brown</author>
<price>25.0</price>
</book>
</booklist>
以下是使用XML DOM获取其中所有书的标题和价格:
var xmlDoc = new DOMParser().parseFromString(xmlString, "text/xml");
var books = xmlDoc.getElementsByTagName("book");
for (var i = 0; i < books.length; i++) {
var title = books[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
var price = books[i].getElementsByTagName("price")[0].childNodes[0].nodeValue;
console.log(title + ": " + price);
}
输出结果为:
Harry Potter and the Philosopher's Stone: 20.0
The Hobbit: 18.0
The Da Vinci Code: 25.0
XML DOM是操作XML文档的重要工具,可以方便地对XML文档进行增删改查等操作。熟练掌握XML DOM的使用,尤其是对节点属性和方法的熟悉程度,可以极大地提高XML文档操作的效率和方便性。