xpath -- a script to query XPath statements in XML documents.
xpath算是command line的xml查詢工具。
假設有個xml檔(book.xml)內容如下:
<?xml version="1.0"?> <root> <book> <name>b1</name> <auth>Brook</auth> <price>$10</price> </book> <book> <name>b2</name> <auth>Brook</auth> <price>$15</price> </book> <store location="tw" tel="0921" name="Dr.B"> </root>
使用'/A/B'尋找A底下的B。
brook@desktop:~$ xpath -e '/root/book' -q book.xml <book> <name>b1</name> <auth>Brook</auth> <price>$10</price> </book> <book> <name>b2</name> <auth>Brook</auth> <price>$15</price> </book> brook@desktop:~$ xpath -e '/root/book[1]/name' -q book.xml <name>b1</name> brook@desktop:~$ xpath -e '/root/book[2]/name' -q book.xml <name>b2</name>
使用//xx則會尋找xx這個tag,不管在哪個節點位置。
brook@desktop:~$ xpath -e '//name' -q book.xml <name>b1</name> <name>b2</name>
使用@xx取得xx的attribute。
brook@desktop:~$ xpath -e '/root/store/@name' -q book.xml name="Dr.B"
使用text()取得node的內容。
brook@desktop:~$ xpath -e '//book[1]/name/text()' -q book.xml b1
其他用法請參考:
http://www.w3.org/TR/xpath
http://zh.wikipedia.org/wiki/XPath