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;

親自試一試