A namespace without a prefix (the default) has the empty string as a key. Duplicate prefixes will use the namespace of the earliest ancestor.
SimpleXMLElement::getNamespaces
(PHP 5 >= 5.1.2)
SimpleXMLElement::getNamespaces — Returns namespaces used in document
Description
SimpleXMLElement
array getNamespaces
([ bool $recursive
] )
Returns namespaces used in document
Parameters
- recursive
-
If specified, returns all namespaces used in parent and child nodes. Otherwise, returns only namespaces used in root node.
Return Values
The getNamespaces method returns an array of namespace names with their associated URIs.
Examples
Example #1 Get document namespaces in use
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:person id="1">John Doe</p:person>
<p:person id="2">Susie Q. Public</p:person>
</people>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);
?>
The above example will output:
array(1) {
["p"]=>
string(21) "http://example.org/ns"
}
See Also
- SimpleXMLElement::getDocNamespaces - Returns namespaces declared in document
- SimpleXMLElement::registerXPathNamespace - Creates a prefix/ns context for the next XPath query
SimpleXMLElement::getNamespaces
brettz9 aaat yah dot company
18-Feb-2009 06:26
18-Feb-2009 06:26
