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程序显示结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。