DOM ツリーはドキュメントの論理構造を定義し、これらのドキュメントにアクセスして操作する方法を制御します。 DOM を使用すると、開発者は XML または HTML ドキュメントを作成し、その結果を操作し、ドキュメント要素とコンテンツを追加、変更、削除できます。 DOM には任意のプログラミング言語からアクセスできます。この記事では、PHP コアの一部である PHP 5 DOM 拡張機能を使用しているため、PHP 以外のソフトウェアをインストールする必要はありません。
DOM ツリー ノードは、次のような XML 命名規則に従います。
1. ドキュメント ノード - DOMDocument インターフェイスを表します
2. 要素ノード - DOMElement インターフェイスを表します
3. 属性ノード - DOMAttr インターフェイスを表します
4.コメント ノード - DOMComment インターフェイスを表します
5. テキスト ノード - DOMText インターフェイスを表します
要素の抽出このセクションでは、DOM ツリーから要素と値を抽出する方法を紹介します。内容を説明するための例をリスト 1 に示します。
リスト 1 Book.xml<ol class="dp-xml"> <li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag- name>xml</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>version</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"1.0"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>encoding</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"UTF-8"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>standalone</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"yes"</FONT></SPAN><SPAN> </SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li> <li> <span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>book</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span></span><span class="comments"><font color="#008200"><!--XML Processing [part I] --></font></span><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>name</SPAN><SPAN class=tag>></span></font></strong><span>XML Processing I</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>name</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>author</SPAN><SPAN class=tag>></span></font></strong><span>John Smith Jr.</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>author</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>publisher</SPAN><SPAN class=tag>></span></font></strong><span>HisOwnTM</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag- name>publisher</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>ISBN</SPAN><SPAN class=tag>></span></font></strong><span>111-222-333-4441</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>ISBN</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>contents</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>chapter_I</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span>What is XML about ?</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>content</SPAN><SPAN class=tag>></span></font></strong><span>XML (Extensible Markup Language) is a ...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>content</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>chapter_I</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>chapter_II</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span>SAX</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag- name>title</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>content</SPAN><SPAN class=tag>></span></font></strong><span>SAX is a simple API for ...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>content</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>chapter_II</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>chapter_III</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span>StAX</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag- name>title</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>content</SPAN><SPAN class=tag>></span></font></strong><span>Much powerful and flexible, StAX, is very...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>content</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>chapter_III</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>chapter_IV</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span>DOM </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>subtitle</SPAN><SPAN class=tag>></span></font></strong><span>DOM concept </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>continut</SPAN><SPAN class=tag>></span></font></strong><span>Starting to use DOM...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>continut</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag -name>subtitle</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>subchapter_IV_I</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span>First DOM application...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><st rong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>content</SPAN><SPAN class=tag>></span></font><span>Here it is your first DOM application...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>content</SPAN><SPAN class=tag>></span></font></strong><span> </span><li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag -name>subchapter_IV_I</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag- name>chapter_IV</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span> </span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag- name>end</SPAN><SPAN class=tag>></span></font></strong><span>The end...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>end</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li class="alt"> <span> </span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>contents</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li> <li> <span></span><span class="comments"><font color="#008200"><!-- See you in XML Processing [part II] --></font></span><span> </span> </li> <li class="alt"> <span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>book</SPAN><SPAN class=tag>></span></font></strong><span> </span> </li></st> </li> </ol>