XPathノード
XPathの用語
ノード
XPathには、要素、属性、テキスト、名前空間、処理命令、コメント、およびドキュメントノードの7種類のノードがあります。
XMLドキュメントはノードのツリーとして扱われます。ツリーの最上位の要素はルート要素と呼ばれます。
次のXMLドキュメントを見てください。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
上記のXMLドキュメントのノードの例:
<bookstore> (root element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
原子値
アトミック値は、子または親のないノードです。
アトミック値の例:
J K. Rowling
"en"
アイテム
アイテムはアトミック値またはノードです。
ノードの関係
親
各要素と属性には1つの親があります。
次の例では、book要素は、タイトル、著者、年、および価格の親です。
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
子供達
要素ノードには、0個、1個、または複数の子があります。
次の例では、タイトル、著者、年、および価格の要素はすべて、本の要素の子です。
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
兄弟
同じ親を持つノード。
次の例では、タイトル、著者、年、および価格の要素はすべて兄弟です。
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
祖先
ノードの親、親の親など。
次の例では、title要素の祖先は、book要素とbookstore要素です。
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
子孫
ノードの子、子の子など。
次の例では、書店要素の子孫は、本、タイトル、著者、年、および価格の要素です。
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>