xml学习8 xml增删改查
更新时间:2023-07-16XML 简介
XML(Extensible Markup Language)是一种常用于存储和传输数据的标记语言,他是由W3C组织标准化,用于标记电子文件使其具有结构性的标记语言。XML 是被设计来传输和存储数据,其语法与 HTML 相似,但是 XML 更加灵活,可以自定义标签,符合特定的业务需求。
XML 与 HTML 的区别
XML 和 HTML 都是用建立文档结构的标记语言,但是两者之间有很大的区别:
- HTML 旨在显示数据,而 XML 旨在存储和传递数据。
- HTML 有限制的标签和属性,而 XML 可以自定义标签和属性
- XML 中标签顺序是很重要的,而在 HTML 中标签顺序并不影响文档的最终呈现
XML 的增删改查
XML 可以通过 DOM(文档对象模型)来操作,一个 DOM 文档是一个树形结构。每个 XML 元素都是一个节点,包括元素节点、属性节点、文本节点等。对 XML 进行 增删改查 操作,需要通过 DOM 来定位节点、创建节点以及 删除节点。
XML 的查询操作
使用 DOM 来查找指定的 XML 元素
// 加载 XML 文件 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "books.xml", false); xhttp.send(); var xmlDoc = xhttp.responseXML; // 查找书籍名称为“Harry Potter”的书籍 var x = xmlDoc.getElementsByTagName("book"); for (i = 0; i < x.length; i++) { if (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue == "Harry Potter") { console.log(x[i]); } }
XML 的增加操作
使用 DOM 来添加新的 XML 元素
// 加载 XML 文件 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "books.xml", false); xhttp.send(); var xmlDoc = xhttp.responseXML; // 创建新的 XML 元素 var newBook = xmlDoc.createElement("book"); var newTitle = xmlDoc.createElement("title"); var titleText = xmlDoc.createTextNode("JavaScript"); newTitle.appendChild(titleText); newBook.appendChild(newTitle); // 将新元素添加到 XML 文件中的合适位置 var x = xmlDoc.getElementsByTagName("catalog")[0]; x.appendChild(newBook);
XML 的修改操作
使用 DOM 来修改指定的 XML 元素
// 加载 XML 文件 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "books.xml", false); xhttp.send(); var xmlDoc = xhttp.responseXML; // 修改第一本书籍的名称为“JavaScript” var x = xmlDoc.getElementsByTagName("book")[0].getElementsByTagName("title")[0]; x.childNodes[0].nodeValue = "JavaScript";
XML 的删除操作
使用 DOM 来删除指定的 XML 元素
// 加载 XML 文件 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "books.xml", false); xhttp.send(); var xmlDoc = xhttp.responseXML; // 删除第一本书籍 var x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);总结:XML 是一种用于存储和传输数据的标记语言,其重点在于数据的存储与传输,与 HTML 不同。XML 可以使用 DOM 对其进行增删改查等操作,DOM 的主要作用是将 XML 文档转化成树形结构,并且可以通过树形结构的操作来添加、修改、删除等操作。