函数名:DOMXPath::registerNamespace()
适用版本:所有PHP版本(自 PHP 5 起可用)
用法:registerNamespace() 方法用于在XPath查询中注册命名空间前缀和命名空间URI。
语法:DOMXPath::registerNamespace ( string $prefix , string $namespaceURI ) : bool
参数:
- $prefix:要注册的命名空间前缀。
- $namespaceURI:要与命名空间前缀关联的命名空间URI。
返回值:如果成功注册命名空间,则返回 true。如果失败,则返回 false。
示例:
$xml = <<<XML
<books xmlns:my="http://example.com">
<my:book>
<my:title>PHP之美</my:title>
<my:author>John Doe</my:author>
</my:book>
<my:book>
<my:title>PHP入门指南</my:title>
<my:author>Jane Smith</my:author>
</my:book>
</books>
XML;
// 创建一个新的DOMDocument对象
$dom = new DOMDocument();
$dom->loadXML($xml);
// 创建一个新的DOMXPath对象
$xpath = new DOMXPath($dom);
// 注册命名空间前缀和命名空间URI
$xpath->registerNamespace('my', 'http://example.com');
// 使用XPath查询选取指定命名空间的元素
$titles = $xpath->query('//my:title');
foreach ($titles as $title) {
echo $title->nodeValue . PHP_EOL;
}
在上面的示例中,我们通过使用 registerNamespace() 方法将命名空间前缀 'my' 与命名空间URI 'http://example.com' 关联起来。然后,我们使用XPath查询选取指定命名空间的 <my:title> 元素,并通过循环输出每个标题的节点值。
请注意,在使用XPath查询时,命名空间前缀 'my' 必须在XPath表达式中正确地引用,以便查询能够生效。
免费实用的在线工具大全
热门工具排行榜