欢迎来到百宝集!
免费实用的在线工具大全
查询

DOMXPath::registerNamespace()函数—用法及示例

「 在XPath查询中注册命名空间前缀和命名空间URI 」


函数名: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表达式中正确地引用,以便查询能够生效。

补充纠错
上一个函数: DOMXPath::query()函数
热门PHP函数