XML Parser

创建于 2024-12-03 / 46
字体: [默认] [大] [更大]

所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器。

解析器把 XML 转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象。


XML 解析器

所有现代浏览器都有读取和操作 XML 的内建 XML 解析器。

解析器把 XML 载入内存,然后把它转换为可通过 JavaScript 访问的 XML DOM 对象

您将在本教程的下一节中学习更多有关 XML DOM 的知识。


解析 XML 字符串

此实例将文本字符串解析为XML DOM对象,并使用JavaScript从中提取信息:

实例

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</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>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

创建一个XML DOM解析器:

parser = new DOMParser();

解析器使用文本字符串创建新的XML DOM对象:

xmlDoc = parser.parseFromString(text,"text/xml");

旧版本的 Internet Explorer

旧版本的 Internet Explorer(IE5、IE6、IE7、IE8)不支持 DOMParser 对象。

要使用旧版本的Internet Explorer,请检查浏览器是否支持 DOMParser 对象,或者创建 ActiveXObject:

实例

if (window.DOMParser) {
  // code for modern browsers
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(text,"text/xml");
} else {
  // code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(text);
亲自试一试 »

XMLHttpRequest 对象

XMLHttpRequest Object 对象具有内置的 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; 亲自试一试 »

0 人点赞过