XMLチュートリアル

XMLホーム XMLの紹介 XML使用方法 XMLツリー XML構文 XML要素 XML属性 XML名前空間 XML表示 XML HttpRequest XMLパーサー XML DOM XML XPath XML XSLT XML XQuery XML XLink XMLバリデーター XML DTD XMLスキーマ XMLサーバー XMLの例 XMLクイズ XML証明書

XML AJAX

AJAXの紹介 AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

XML DOM

DOMの紹介 DOMノード DOMアクセス DOMノード情報 DOMノードリスト DOMトラバース DOMナビゲーション DOMは値を取得します DOM変更ノード DOM削除ノード DOM置換ノード DOM作成ノード DOM追加ノード DOMクローンノード DOMの例

XPathチュートリアル

XPathの概要 XPathノード XPath構文 XPath軸 XPath演算子 XPathの例

XSLTチュートリアル

XSLTの紹介 XSL言語 XSLT変換 XSLT <テンプレート> XSLT <値> XSLT <for-each> XSLT <ソート> XSLT <if> XSLT <選択> XSLT適用 クライアント上のXSLT サーバー上のXSLT XSLT Edit XML XSLTの例

XQueryチュートリアル

XQueryの紹介 XQueryの例 XQuery FLWOR XQuery HTML XQueryの用語 XQuery構文 XQuery追加 XQuery Select XQuery関数

XML DTD

DTDの紹介 DTDビルディングブロック DTD要素 DTD属性 DTD要素と属性 DTDエンティティ DTDの例

XSDスキーマ

XSDの概要 XSDハウツー XSD <スキーマ> XSD要素 XSD属性 XSDの制限

XSDコンプレックス

XSD要素 XSDが空です XSD要素のみ XSDテキストのみ XSD混合 XSDインジケーター XSD <任意> XSD <anyAttribute> XSD置換 XSDの例

XSDデータ

XSD文字列 XSD日付 XSD数値 XSDその他 XSDリファレンス

Webサービス

XMLサービス XML WSDL XML SOAP XML RDF XML RSS

参考文献

DOMノードタイプ DOMノード DOM NodeList DOM NamedNodeMap DOMドキュメント DOM要素 DOM属性 DOMテキスト DOM CDATA DOMコメント DOM XMLHttpRequest DOMパーサー XSLT要素 XSLT / XPath関数

XMLDOMノード


XML DOMによると、XMLドキュメント内のすべてがノードです。

  • ドキュメント全体がドキュメントノードです
  • すべての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>ノードは、子ノード<title>、<author>、<year>、および<price>を保持します。

子ノードには、「毎日がイタリアン」、「Giada De Laurentiis」、「2005」、「30.00」の各テキストノードが含まれています。



テキストは常にテキストノードに保存されます

DOM処理でよくあるエラーは、要素ノードにテキストが含まれていることを期待することです。

ただし、要素ノードのテキストはテキストノードに保存されます。

この例:<year> 2005 </ year>の場合、要素ノード<year>は、値が「2005」のテキストノードを保持します。

「2005」は<year>要素の値ではありません!


XMLDOMノードツリー

XML DOMは、XMLドキュメントをツリー構造として表示します。ツリー構造はノードツリーと呼ばれます。

ツリーからすべてのノードにアクセスできます。それらの内容を変更または削除したり、新しい要素を作成したりできます。

ノードツリーには、ノードのセットとそれらの間の接続が表示されます。ツリーはルートノードから始まり、ツリーの最下位レベルにあるテキストノードに分岐します。

DOMノードツリー

上の画像は、XMLファイルbooks.xmlを表しています。


ノードの親、子、および兄弟

ノードツリー内のノードは、相互に階層関係にあります。

親、子、および兄弟という用語は、関係を説明するために使用されます。親ノードには子があります。同じレベルの子供は兄弟(兄弟または姉妹)と呼ばれます。

  • ノードツリーでは、最上位ノードはルートと呼ばれます
  • ルートを除くすべてのノードには、親ノードが1つだけあります。
  • ノードには任意の数の子を含めることができます
  • 葉は子のないノードです
  • 兄弟は同じ親を持つノードです

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

ノードツリー

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>、および<price>要素の親ノードです。