XML 解析器
所有主流浏览器都有内置的 XML 解析器,用于访问和操作 XML。
解析器把 XML 转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象。
XML 解析器
XML DOM(文档对象模型)定义了用于访问和编辑 XML 的属性和方法。
然而,在访问 XML 文档之前,必须将其加载到 XML DOM 对象中。
所有现代浏览器都提供内置的 XML 解析器,可以将文本转换为 XML DOM 对象。
解析文本字符串
这个例子将文本字符串解析为 XML DOM 对象,并使用 JavaScript 从中提取信息:
实例
<html> <body> <p id="demo"></p> <script> var text, parser, xmlDoc; text = "<bookstore><book>" + "<title>雅舍谈吃</title>" + "<author>梁实秋</author>" + "<year>2013</year>" + "</book></bookstore>"; parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </script> </body> </html>
例子解释
定义文本字符串:
text = "<bookstore><book>" + "<title>雅舍谈吃</title>" + "<author>梁实秋</author>" + "<year>2013</year>" + "</book></bookstore>";
创建 XML DOM 解析器:
parser = new DOMParser();
解析器使用这个文本字符串创建了一个新的 XML DOM 对象:
xmlDoc = parser.parseFromString(text,"text/xml");
XMLHttpRequest 对象
XMLHttpRequest 对象提供内置的 XML 解析器。
responseText
属性以字符串形式返回响应。
responseXML
属性以 XML DOM 对象的形式返回响应。
如果要将响应用作 XML DOM 对象,则可以使用 responseXML
属性。
实例
请求文件 cd_catalog.xml,并将响应用作 XML DOM 对象:
xmlDoc = xmlhttp.responseXML; txt = ""; x = xmlDoc.getElementsByTagName("ARTIST"); for (i = 0; i < x.length; i++) { txt += x[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt;