==[[XPath]]==http://www.techscore.com/tech/XML/[[XPath]]/xpath01-2.htmlhttp://www.w3.org/TRT[[R]]/xpath[[Java XPath]]====[[XPath ]] のデータモデル====[[XML ]] データを以下の 7 種類のノードから構成されるツリーと考える。
*ルートノード:最上位ノード
*要素ノード:XML 要素ノード:[[XML]] の要素を表すノード
* テキストノード:開始タグと終了タグで挟まれた文字列データ
* 属性ノード:要素内で指定された属性を表すノード
* 名前空間ノード:名前空間 (Namespace) を表すノード
* 処理命令ノード:処理命令 (Processing Instruction) を表すノード(処理命令とは <? と ?> で挟まれた一文のこと)。XML 宣言は処理命令の形をしていますが、XML 。[[XML]] 宣言は処理命令の形をしていますが、[[XML]] 1.0 の構文上、処理命令ではないため、XML の構文上、処理命令ではないため、[[XML]] 宣言は処理命令ノードとしては扱いません。
* コメントノード:コメントを表すノード(ただし、ドキュメント型宣言内に記述するコメントを除きます)
ここまで、メモした
http://www.techscore.com/tech/XML/[[XPath]]/xpath03.html
====XPathの基本[[XPath]]の基本====
<Media>
<Book Author="a1" Title="t1"/>
<Book Author="a2" Title="t2"/>
<Book Author="a3" Title="t3"/>
*XPathによって、ノードのリストまたは単一のノードが生成されるという考え方はXMLバインディングを学ぶ上で極めて重要[[XPath]]によって、ノードのリストまたは単一のノードが生成されるという考え方はXMLバインディングを学ぶ上で極めて重要*XMLでは要素の属性の両方がXMLノードとみなされる[[XML]]では要素の属性の両方が[[XML]]ノードとみなされる*XPathは実際には要素だけでなくノードを選択することによって機能する[[XPath]]は実際には要素だけでなくノードを選択することによって機能する
*属性名を参照するには 「@」を演算子を使用する
** Media/Book/@Title を使用すると、次の内容が返る(XmlAttributeNode型)
{|class="wikitable"
![[XPath]]
!説明
!例