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文書を扱うプログラムを書くケース自体がほとんどなくて、ほとんど使ったことはないのですけどね。