首先,要加载并解析XML字符串,需要使用JavaScript里的XML解析器(XML Parser)。XML解析器可以将XML代码解析为JavaScript对象,方便文档的访问和操作。
以下是使用XML解析器的代码示例:
// 创建XML解析器
let parser = new DOMParser();
// 定义一个XML字符串
let xmlString = "<bookstore><book><title>Harry Potter</title><author>J.K. Rowling</author></book><book><title>The Hobbit</title><author>J.R.R. Tolkien</author></book></bookstore>";
// 解析XML字符串并返回XML文档对象
let xmlDoc = parser.parseFromString(xmlString, "text/xml");
// 访问XML文档对象
let books = xmlDoc.getElementsByTagName("book");
console.log(books[0].childNodes[0].innerHTML); // 输出第一本书的标题
console.log(books[1].childNodes[1].innerHTML); // 输出第二本书的作者
以上代码首先创建了XML解析器对象parser
,并定义了一个XML字符串xmlString
。接着使用parser.parseFromString()
方法将XML字符串解析为XML文档对象xmlDoc
,再使用xmlDoc.getElementsByTagName()
方法访问其中的元素。例如,可以通过getElementsByTagName("book")
获取到XML文档中所有名为book
的元素,并使用childNodes
属性访问他们的子节点。如上述代码所示,可以输出第一本书的标题和第二本书的作者。
下面再给出另一条示例代码:
// 创建XMLHttpRequest对象
let xhttp = new XMLHttpRequest();
// 注册回调函数
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 将XML响应解析为XML文档对象
let xmlDoc = this.responseXML;
// 访问XML文档对象
let books = xmlDoc.getElementsByTagName("book");
console.log(books[0].childNodes[0].innerHTML); // 输出第一本书的标题
}
};
// 发送XML请求
xhttp.open("GET", "books.xml", true);
xhttp.send();
以上代码使用XMLHttpRequest(XHR)对象向服务器发送XML请求,并获取返回的XML响应。在XHR对象的回调函数中,通过this.responseXML
获取XML响应并将其解析为XML文档对象xmlDoc
。再次使用xmlDoc.getElementsByTagName()
方法访问XML文档中的元素。以上示例代码以GET请求方式向服务器请求books.xml
文件,并输出其中第一本书的标题。
总之,使用JavaScript加载并解析XML字符串可以通过XML解析器或XMLHttpRequest等方式实现。在解析成功后,开发者可以通过DOM操作方法访问XML文档对象,实现对XML文档的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 加载并解析XML字符串的代码 - Python技术站