情処用語辞典

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

関連用語