PHP 实战使用 XPath 从 XML 文档中提取数据
更新时间:2023-11-11什么是XPath?
XPath是一种用于在XML文档中定位特定元素或节点的语言。XPath提供了一种简单、清晰的方法来访问XML文档的结构和内容。
//选择所有bookstore元素及其所有子元素 /bookstore
如何使用XPath提取数据?
使用PHP的SimpleXMLElement类可以解析XML文档,并使用XPath来查找需要的数据。
$xml = simplexml_load_file("data.xml"); //加载XML文件 $books = $xml->xpath("/bookstore/book[price>35]"); //使用XPath查找价格大于35的书
XPath常用的表达式
除了XPath语法之外,您还需要了解XPath的常用表达式。
- /:从根节点开始选择
- //:选择所有符合条件的节点
- .:选择当前节点
- ..:选择当前节点的父节点
- @:选择属性
- []:选择拥有指定属性或者满足指定条件的节点
- *:通配符,匹配任何元素节点
//获取title为Harry Potter的book元素的所有属性 /bookstore/book[title='Harry Potter']//@*
使用XPath注意事项
使用XPath时,需要注意以下事项:
- 正确使用语法和表达式
- 如果XML文档有命名空间,则需要在XPath中显式声明
- 确保XML文档的完整性和正确性
//选择带有dc命名空间的元素 /*[local-name()='book' and namespace-uri()='http://purl.org/dc/elements/1.1/']