PHP registerXPathNamespace()Functions
PHP SimpleXML Reference Manual
Examples
Create a namespace context for the next XPath query:
<?php
$xml=<<<XML
<book xmlns:chap="http://example.org/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>
XML;
$sxe=new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('c','http://example.org/chapter-title');
$result=$sxe->xpath('//c:title');
foreach ($result as $title)
{
echo $title . "<br>";
}
?>
$xml=<<<XML
<book xmlns:chap="http://example.org/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>
XML;
$sxe=new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('c','http://example.org/chapter-title');
$result=$sxe->xpath('//c:title');
foreach ($result as $title)
{
echo $title . "<br>";
}
?>
Run example »
Definition and Usage
The registerXPathNamespace() function creates a namespace context for the next XPath query.
This function is useful if the namespace prefix is changed in an XML document. The registerXPathNamespace() function will create a specified namespace prefix, enabling affected XML nodes to be accessed without changing the application code too much.
Syntax
registerXPathNamespace(prefix,ns);
| Parameters | Description |
|---|---|
| prefix | Required. Specifies thensnamespace prefix used in the XPath query for the specified namespace. |
| ns | Required. Specifies the namespace used for the XPath query. |
Technical Details
| Return value: | Returns TRUE on success, or FALSE on failure. |
|---|---|
| PHP Version: | 5.2+ |
PHP SimpleXML Reference Manual Other Extensions