Dom-xml-dom-loading
XML DOM-読み込み
この章では、XML _Loading_および_Parsing_について学習します。
APIによって提供されるインターフェイスを記述するために、W3Cはインターフェイス定義言語(IDL)と呼ばれる抽象言語を使用します。 IDLを使用する利点は、開発者がお気に入りの言語でDOMを使用する方法を学習し、別の言語に簡単に切り替えることができることです。
欠点は、抽象的であるため、IDLをWeb開発者が直接使用できないことです。 プログラミング言語には違いがあるため、抽象インターフェースとその具体的な言語との間のマッピング(またはバインディング)が必要です。 DOMは、Javascript、JScript、Java、C、C ++、PLSQL、Python、Perlなどのプログラミング言語にマッピングされています。
'_以下のセクションと章では、XMLファイルをロードするためのプログラミング言語としてJavascriptを使用します。_
パーサ
_parser_は、ドキュメント(この場合はXMLドキュメント)を分析し、その情報に対して特定の処理を行うように設計されたソフトウェアアプリケーションです。 DOMベースのパーサーのいくつかは、次の表に記載されています-
S.No | Parser & Description |
---|---|
1 |
JAXP Sun MicrosystemのXML解析用Java API(JAXP) |
2 |
XML4J IBMのXML Parser for Java(XML4J) |
3 |
msxml MicrosoftのXMLパーサー(msxml)バージョン2.0はInternet Explorer 5.5に組み込まれています |
4 |
4DOM 4DOMはPythonプログラミング言語のパーサーです |
5 |
XML::DOM
|
6 |
Xerces ApacheのXerces Javaパーサー |
DOMのようなツリーベースのAPIでは、パーサーはXMLファイルを走査し、対応するDOMオブジェクトを作成します。 その後、DOM構造を行き来できます。
XMLの読み込みと解析
XMLドキュメントの読み込み中、XMLコンテンツは2つの形式で提供されます-
- XMLファイルとして直接
- XML文字列として
XMLファイルとしてのコンテンツ
次の例は、XMLコンテンツがXMLファイルとして受信されたときに、AjaxとJavascriptを使用してXML(link:/dom/node.xml [node.xml])データをロードする方法を示しています。 ここで、Ajax関数はxmlファイルのコンテンツを取得し、XML DOMに保存します。 DOMオブジェクトが作成されると、解析されます。
node.xml
コードの詳細のほとんどは、スクリプトコードにあります。
- Internet Explorerは_ActiveXObject( "Microsoft.XMLHTTP")_を使用してXMLHttpRequestオブジェクトのインスタンスを作成し、他のブラウザーは_XMLHttpRequest()_メソッドを使用します。
- _responseXML_は、XMLコンテンツをXML DOMで直接変換します。
- XMLコンテンツがJavaScript XML DOMに変換されると、JS DOMのメソッドとプロパティを使用して任意のXML要素にアクセスできます。 childNodes _、 nodeValue_などのDOMプロパティと、getElementsById(ID)、getElementsByTagName(tags_name)などのDOMメソッドを使用しました。
実行
このファイルをloadingexamplelとして保存し、ブラウザで開きます。 次の出力が表示されます-
XML文字列としてのコンテンツ
次の例は、XMLコンテンツがXMLファイルとして受信されたときにAjaxとJavascriptを使用してXMLデータをロードする方法を示しています。 ここで、Ajax関数は、xmlファイルのコンテンツを取得し、XML DOMに保存します。 DOMオブジェクトが作成されると、解析されます。
コードの詳細のほとんどは、スクリプトコードにあります。
- Internet Explorerは_ActiveXObject( "Microsoft.XMLDOM")_を使用してXMLデータをDOMオブジェクトにロードし、他のブラウザーは_DOMParser()_関数と_parseFromString(text、 'text/xml')_メソッドを使用します。
- 変数_text_には、XMLコンテンツを含む文字列が含まれます。
- XMLコンテンツがJavaScript XML DOMに変換されると、JS DOMのメソッドとプロパティを使用して任意のXML要素にアクセスできます。 childNodes _、 nodeValue_などのDOMプロパティを使用しました。
実行
このファイルをloadingexamplelとして保存し、ブラウザで開きます。 次の出力が表示されます-
XMLコンテンツがJavaScript XML DOMに変換される方法を確認したので、XML DOMメソッドを使用して任意のXML要素にアクセスできるようになりました。