最新のWeb開発のチュートリアル
 

XML DOMノード


DOMでは、XML文書内のすべてのノードです。


DOMノード

DOMによると、XML文書内のすべてがあるnode 。

DOMは言います:

  • 文書全体が文書ノードであります
  • すべてのXML要素は、要素ノードであります
  • XML要素内のテキストは、テキストノードであります
  • 各属性は、属性ノードであります
  • コメントは、コメントノードであります

DOMの例

次のXMLファイルを見てください( books.xml ):

×

ヘッダ

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

上記のXMLのルートノードの名前は<bookstore> 。 文書内の他のすべてのノードが中に含まれている<bookstore>

ルートノードは<bookstore> 4成り立つ<book>ノードを。

最初の<book>ノードは4つのノードを保持: <title>, <author>, <year> 、および<price> 1つのテキストノードが含まれ、それぞれ、 "Everyday Italian", "Giada De Laurentiis""2005" 、および"30.00"


テキストは常にテキスト・ノードに格納されています

DOM処理における一般的なエラーは、テキストを格納するための要素ノードを期待することです。

しかし、要素ノードのテキストは、テキスト・ノードに格納されています。

この例では: <year>2005</year> 、要素ノード<year> 、値とテキストノードを保持している"2005"

「2005」であり、 notの値は<year>要素!


XML DOMノードツリー

XML DOMツリー構造としてXML文書を見ます。 ツリー構造が呼び出されnode-tree.

すべてのノードがツリーを介してアクセスすることができます。 その内容は、変更または削除され、新たな要素を作成することができることができます。

ノードツリーは、ノードの集合、およびそれらの間の接続を示しています。 ツリーは、ルートノードと、ツリーの最下位レベルのテキストノードへのアウト支店で開始します:

DOMノードツリー

上記の画像は、XMLファイルを表すのBooks.xmlを


ノード親、子供、兄弟姉妹

ノードツリー内のノードは、互いに階層的な関係を持っています。

用語親、子および兄弟の関係を記述するために使用されます。 親ノードは子を持ちます。 同じレベルの子供たちは、兄弟と呼ばれている(brothers or sisters)

  • ノードツリーで、最上位ノードは、ルートと呼ばれています
  • すべてのノードは、ルートを除いて、正確に一つの親ノードを持っています
  • ノードは、子供の数に制限はありません
  • 葉は子を持たないノードであり、
  • 兄弟姉妹は、同じ親を持つノードであります

以下の画像は、ノードツリーの一部とノード間の関係を示しています。

ノードツリー

XMLデータは、ツリー形式で構成されているので、木の正確な構成を知ることなく、また内に含まれるデータのタイプを知らなくても横断することができます。

このチュートリアルの後の章でノードツリーをトラバースについての詳細を学びます。


最初の子 - 最後の子

次のXMLフラグメントを見てください:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

上記のXMLでは、 <title>要素は、最初の子である<book>要素、および<price>要素は、最後の子である<book>要素。

さらに、 <book>要素は、親ノードである<title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.