XML DOMノード
- 前のページ DOM 紹介
- 次のページ DOM ノードアクセス
XML DOMに基づいて、XMLドキュメントのすべての内容はノード:
- 全体のドキュメントはドキュメントノードです
- 各XML要素は要素ノードです
- XML要素のテキストはテキストノードです
- 各属性は属性ノードです
- コメントはコメントノードに属しています
DOM例
以下のXMLファイルを確認してください(books.xml):
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787539962771</ISBN> </book> <book category="儿童"> <title lang="zh">素晴らしいリスのパパ</title> <author>ロール・ダール</author> <translator>代維</translator> <press>明日出版社</press> <year>2009</year> <price>10</price> <ISBN>9787533259563</ISBN> </book> <book category="文学"> <title lang="zh">馴れ親しんだものを未知にする</title> <author>ジグモント・ボウマン</author> <author>ピーター・ハフナー</author> <translator>王立秋</translator> <press>南京大学出版局</press> <year>2023</year> <price>68</price> <ISBN>9787305269387</ISBN> </book> <book category="科学"> <title lang="zh">鳥のように飛びたいですか?</title> <author>リチャード・ドーカンス</author> <author>アナ・レンゾワ</author> <translator>高天羽</translator> <press>湖南科学技術出版社</press> <year>2023</year> <price>88</price> <ISBN>9787571019075</ISBN> </book> <book category="政治" cover="平装"> <title lang="zh">アメリカの民主主義</title> <author>トクヴィル</author> <translator>董果良</translator> <press>商務印書館</press> <year>1989</year> <price>60</price> <ISBN>9787100124553</ISBN> </book> </bookstore>
上記の XML では、ルートノードは <bookstore> です。
ドキュメントの他のすべてのノードは <bookstore> に含まれています。
ルートノード <bookstore> は 5 つの <book> ノードを持ちます。
最初の <book> ノードは、<title>、<author>、<press>、<year>、<price>、<ISBN> という 6 つのサブノードを含んでいます。
それぞれの子ノードはテキストノードを含んでいます:
- "雅舍谈吃"
- "梁实秋"
- "江苏文艺出版社"
- "2012"
- "48.00"
- "9787100011105"
テキストは常にテキストノードに保存されます
DOM処理では、要素ノードがテキストを含むと誤解される一般的な間違いがあります。
しかし、要素ノードのテキストはテキストノードに保存されています。
この例では:<year>2013</year>
、要素ノード<year>は「2012」のテキストノードを含んでいます。
"2012" ではありません <year>要素の値!
XML DOMノードツリー
XML DOMはXMLドキュメントを木構造として見なします。この木構造はノードツリー.
このツリーを通じてすべてのノードにアクセスできます。その内容を変更したり削除したり、新しい要素を作成することもできます。
このノードツリーは、ノードの集合とそれらの関係を示しています。このツリーはルートノードから始まり、最も低いレベルのテキストノードに枝を広げます:

上の図はXMLファイルを示しています books.xml.
親、子、同胞ノード
ノードツリーのノードは相互に階層関係を持っています。
「親」、「子」、「同胞」という用語は、この関係を説明するために使用されます。親ノードには子ノードがあります。同じレベルに位置する子ノードは、同級ノードまたは同胞ノード(兄弟または姉妹)と呼ばれます。
- ノードツリーの最上層のノードはルートと呼ばれます
- ルートノード以外の各ノードは、1つの親ノードしか持っていません
- ノードは任意の数の子ノードを持つことができます
- リーフは子ノードを持たないノードです
- 同胞ノードは同じ親ノードを持つノードです
以下の図は、ノードツリーの一部とその関係を示しています:

XMLデータは木の形で構築されているため、木の正確な構造や含まれるデータの種類を知らなくても、それを遍歴できます。
このチュートリアルの後の章で、ノードツリーの遍歴に関する多くの知識を学びます。
コメント:親ノード:Parent Node、子ノード:Children Node、同じレベルのノード:Sibling Node。
最初の子ノード - 最後の子ノード
以下のXMLスライスを確認してください:
<bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787100011105</ISBN> </book> </bookstore>
上記の XML では、<title> 要素は <book> 要素の最初の子ノードであり、<ISBN> 要素は <book> 要素の最後の子ノードです。
さらに、<book> 要素は <title>、<author>、<year>、<press>、<price>、および <ISBN> 要素の親ノードです。
- 前のページ DOM 紹介
- 次のページ DOM ノードアクセス