首页 理论教育 XML查询语言XPath的使用与案例

XML查询语言XPath的使用与案例

时间:2023-10-29 理论教育 版权反馈
【摘要】:xpath是在XML树状结构中寻找节点、查询信息的语言。@id代表在属性里查询。XML中的局部是这样的:7.列出record记录中的某个节点中值为某个字符串的记录$doc=$xml->xpath;这里列出的是record记录中,子节点username节点值等于字符串“小明”的节点。图7-6使用xpath查询XML程序显示结果

XML查询语言XPath的使用与案例

xpath是在XML树状结构中寻找节点、查询信息的语言

1. 列出全部记录

$doc=$xml->xpath("/root/record");

列全部根节点root下的所有record节点的信息。

2. 查找最后一条记录

$doc=$xml->xpath("/root/record[last()]");

实现的功能是在$xml对象中查找最后一条record记录赋值给$doc对象。

3. 查找出倒数第二条record记录

$doc=$xml->xpath("/root/record[last()-1]");

4. 查找出第一条record记录

$doc=$xml->xpath("/root/record[1]");

5. 列出record记录中属性id是某个值的记录

$doc=$xml->xpath("/root/record[@id=2]");

XML中的局部是这样的:

以上语句是列出属性id=2的记录。@id代表在属性里查询。

6. 列出record记录中节点值id是某个值的记录

$doc=$xml->xpath("/root/record[id=2]");

如果去掉@,则是在record节点中查询子节点id的值是2的节点。

XML中的局部是这样的:

(www.xing528.com)

7.列出record记录中的某个节点中值为某个字符串的记录

$doc=$xml->xpath("/root/record[username='小明']");

这里列出的是record记录中,子节点username节点值等于字符串“小明”的节点。

8. 列出record记录中的某个节点以某字打头的所有记录

$doc=$xml->xpath("/root/record[starts-with(username,'李')]");

这里列出的是record记录中,子节点username的值里以“李”字打头的记录。

9.列出record记录的某个节点中包含有某个字符的记录

$doc=$xml->xpath("/root/record[contains(username,'李')]");

列出record记录中,子节点username的值里包含“李”字的记录。

10. 列出同时满足两个条件的记录

$doc=$xml->xpath("/root/record[contains(username,'李') and contains(address,'海淀')]");

列出record记录中,子节点username的值中包含“李”且子节点address的值中包含“海淀”的记录。

11.列出前两条记录

$doc=$xml->xpath("/root/record[position()<3]");

列出前两条record记录。

12.使用xpath的完整程序范例(read_xpath.php)

以下程序是用xpath查询后显示列表的完整程序,可以用以上各种查询语句替换程序中的xpath那句话,实现各种查询功能。如图7-6所示。

图7-6 使用xpath查询XML程序显示结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈