XML 解析器

すべての主要ブラウザには、XMLにアクセスおよび操作するために内蔵されているXMLパーサーがあります。

パーサーはXMLをXML DOMオブジェクトに変換します - JavaScriptで操作できるオブジェクト。

XML 解析器

XML DOM(ドキュメントオブジェクトモデル)XMLにアクセスおよび編集するための属性とメソッドを定義しています。

XMLドキュメントにアクセスする前に、それをXML DOMオブジェクトにロードする必要があります。

すべての現代ブラウザは、テキストをXML DOMオブジェクトに変換するための内蔵のXMLパーサーを提供しています。

テキスト文字列の解析

この例では、テキスト文字列を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;

自分で試してみる