Xml-dom
提供:Dev Guides
XML-DOM
- Document Object Model(DOM)*はXMLの基盤です。 XMLドキュメントには、_nodes_と呼ばれる情報単位の階層があります。 DOMは、これらのノードとノード間の関係を記述する方法です。
DOMドキュメントは、ノードまたはノードの情報の集まりであり、階層で編成されています。 この階層により、開発者は特定の情報を探してツリー内を移動できます。 情報の階層に基づいているため、DOMは_tree based_と言われています。
一方、XML DOMは、開発者がアプリケーションを作成するためにツリーのノードをいつでも追加、編集、移動、または削除できるAPIを提供します。
例
次の例(サンプル)は、XMLドキュメント( "address.xml")をXML DOMオブジェクトに解析し、JavaScriptを使用してそこから情報を抽出します-
<!DOCTYPE html>
<html>
<body>
<h1>finddevguides DOM example </h1>
<div>
<b>Name:</b> <span id = "name"></span><br>
<b>Company:</b> <span id = "company"></span><br>
<b>Phone:</b> <span id = "phone"></span>
</div>
<script>
if (window.XMLHttpRequest)
{//code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{//code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/xml/address.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.getElementById("name").innerHTML=
xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
document.getElementById("company").innerHTML=
xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
document.getElementById("phone").innerHTML=
xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
*address.xml* の内容は次のとおりです-
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>finddevguides</company>
<phone>(011) 123-4567</phone>
</contact-info>
次に、これら2つのファイル sample と address.xml を同じディレクトリ /xml に保存し、任意のブラウザーでファイルを開いて sample ファイルを実行します。 これにより、次の出力が生成されます。
ここでは、子ノードのそれぞれが値を表示するためにどのように抽出されるかを見ることができます。