XML DOM ノード

XMLドキュメントの各要素はノードです。

ノード

DOMによると、XMLドキュメントの各要素は以下のいずれかです:ノード

DOMは以下のように定義されています:

  • 全体のドキュメントはドキュメントノードです
  • XMLタグは要素ノードです
  • XML要素内に含まれるテキストはテキストノードです
  • XML属性は属性ノードです
  • コメントはコメントノードに属しています

DOM インスタンス

以下のXMLファイル(books.xml)を参照してください:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="children">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="cooking">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="web">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</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>
</bookstore>

上記の XML では、ルートノードは <bookstore> です。ドキュメントの他のすべてのノードは <bookstore> 内に含まれています。

ルートノード <bookstore> には 4 つの <book> ノードがあります。

最初の <book> ノードには 4 つのノードがあります:<title>, <author>, <year> そして <price>、それぞれのノードはテキストノードを含んでおり、"Harry Potter", "J K. Rowling", "2005" そして "29.99" です。

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

DOM処理での一般的な間違いは、要素ノードがテキストを含んでいると考えるところです。

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

この例では:<year>2005</year>、要素ノード <year> は、テキストノードの値が "2005" のものを持っています。

"2005" いいえ <year> 要素の値!