XPath
説明
XML文書の特定の箇所を指定する記述方法です。
記述はWindowsやLinuxでファイルパスを表現する方法と似ていて、比較的わかりやすいです。
[サンプルXML]
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<name id="1">name1</name>
<value>value1</value>
</item>
<item>
<name id="2">name2</name>
<value>value2</value>
</item>
</items>
上記サンプルXMLに対して、XPathとそれが指し示すものは次のようになります。
[/items/item/value/text()] value1 value2
[/items/item/name/@id] 1 2
[//name/text()] name1 name2
[//name[@id=2]/text()] name2
[//name[@id<2]/text()] name1
[//item/node()/text()] name1 value1 name2 value2
余談
XML文書から特定のノードにアクセスする方法はXPathの他にDOMもありますが、個人的にはDOMではなくXPathの方が扱いやすくて好きです。といってもXML文書を扱うプログラムを書くケース自体がほとんどなくて、ほとんど使ったことはないのですけどね。
