PHP registerXPathNamespace() 函数
PHP registerXPathNamespace() 方法为下一个 XPath 查询创建命名空间上下文
( PHP >= 5.2.0 )
方法原型
registerXPathNamespace( **prefix** , **ns** );
如果在 XML 文档中改变命名空间前缀,这个函数很有用
registerXPathNamespace() 方法将创建一个指定的命名空间前缀,使受影响的 XML 节点可以在不改变应用程序代码太多的情况下进行访问
方法参数
参数 | 描述 |
---|---|
prefix | 必需。规定在 ns 指定的命名空间的 XPath 查询中使用的的命名空间前缀 |
ns | 必需。规定用于 XPath 查询的命名空间 |
方法返回值
如果成功则返回 TRUE,如果失败则返回 FALSE
范例
为下一个 XPath 查询创建命名空间上下文
<?php $xml =<<<END <book xmlns:chap="https://twle.cn/chapter-title"> <title>My Book</title> <chapter id="1"> <chap:title>Chapter 1</chap:title> <para>Donec velit. Nullam eget tellus...</para> </chapter> <chapter id="2"> <chap:title>Chapter 2</chap:title> <para>Lorem ipsum dolor sit amet....</para> </chapter> </book> END; $sxe = new SimpleXMLElement($xml); $sxe->registerXPathNamespace('c','https://twle.cn/chapter-title'); $result = $sxe->xpath('//c:title'); foreach ($result as $title) { echo $title , "<br>"; }
运行以上范例,输出结果如下
Chapter 1 Chapter 2