轻松掌握XML DOM,实操解析与更新XML数据技巧揭秘

引言
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于配置文件、数据交换等场景。DOM(Document Object Model)是XML文档的编程接口,允许开发者通过编程方式访问和操作XML文档。本文将详细介绍XML DOM的基本概念、操作技巧,并通过实操示例展示如何解析和更新XML数据。
XML DOM基础
1. XML DOM概述
XML DOM定义了XML文档的树形结构,每个节点都对应XML文档中的一个元素。DOM树由节点组成,包括元素节点、属性节点、文本节点等。
2. XML DOM节点类型
元素节点:表示XML文档中的元素。
属性节点:表示元素的属性。
文本节点:表示元素或属性中的文本内容。
注释节点:表示XML文档中的注释。
文档节点:表示整个XML文档。
3. XML DOM操作方法
getElementsByTagName()
:获取指定标签名的元素节点集合。
getElementsByName()
:获取指定名称的元素节点集合。
getAttributes()
:获取元素的属性节点集合。
setTextContent()
:设置元素的文本内容。
getAttribute()
:获取元素的属性值。
setAttribute()
:设置元素的属性值。
解析XML数据
1. 使用DOM解析XML



《JavaScript权威指南》
David Flanagan 79.00


《CSS权威指南》
Eric A. Meyer 89.00


// 创建XML解析器
const parser = new DOMParser();

// 解析XML字符串
const xmlString = `



《JavaScript权威指南》
David Flanagan 79.00


《CSS权威指南》
Eric A. Meyer 89.00


`;
const xmlDoc = parser.parseFromString(xmlString, “text/xml”);

// 获取所有book元素
const books = xmlDoc.getElementsByTagName(“book”);

// 遍历book元素
for (let i = 0; i < books.length; i++) { const title = books[i].getElementsByTagName("title")[0].textContent; const author = books[i].getElementsByTagName("author")[0].textContent; const price = books[i].getElementsByTagName("price")[0].textContent; console.log(`书名:${title},作者:${author},价格:${price}`); } 2. 使用XPath解析XML // 使用XPath获取所有book元素 const books = xmlDoc.evaluate("/books/book", xmlDoc, null, XPathResult.ANY_TYPE, null); // 遍历book元素 let book = books.iterateNext(); while (book) { const title = book.getElementsByTagName("title")[0].textContent; const author = book.getElementsByTagName("author")[0].textContent; const price = book.getElementsByTagName("price")[0].textContent; console.log(`书名:${title},作者:${author},价格:${price}`); book = books.iterateNext(); } 更新XML数据 1. 添加元素 // 创建新的book元素 const newBook = xmlDoc.createElement("book"); const newTitle = xmlDoc.createElement("title"); newTitle.textContent = "《HTML权威指南》"; const newAuthor = xmlDoc.createElement("author"); newAuthor.textContent = "Jeffrey Sambells"; const newPrice = xmlDoc.createElement("price"); newPrice.textContent = "89.00"; // 将元素添加到book元素中 newBook.appendChild(newTitle); newBook.appendChild(newAuthor); newBook.appendChild(newPrice); // 将book元素添加到books元素中 const books = xmlDoc.getElementsByTagName("books")[0]; books.appendChild(newBook); 2. 修改元素 // 获取第一个book元素 const book = books[0]; // 修改title元素 const title = book.getElementsByTagName("title")[0]; title.textContent = "《JavaScript高级程序设计》"; // 修改price元素 const price = book.getElementsByTagName("price")[0]; price.textContent = "99.00"; 3. 删除元素 // 删除第一个book元素 books.removeChild(book); 总结 本文介绍了XML DOM的基本概念、操作技巧,并通过实操示例展示了如何解析和更新XML数据。通过学习本文,您可以轻松掌握XML DOM,为您的项目提供强大的XML数据处理能力。