Latest web development tutorials
 

PHP getDocNamespaces() Function

< PHP SimpleXML Reference

Example

Return the namespaces declared in the root of the XML document:

<?php
$xml=<<<XML
<?xml version="1.0" standalone="yes"?>
<cars xmlns:c="http://w3ii.com/ns">
  <c:car id="1">Volvo</c:car>
  <c:car id="2">BMW</c:car>
  <c:car id="3">Saab</c:car>
</cars>
XML;

$sxe=new SimpleXMLElement($xml);
$ns=$sxe->getDocNamespaces();
print_r($ns);
?>
Run example »

Definition and Usage

The getDocNamespaces() function returns the namespaces declared in an XML document.


Syntax

getDocNamespaces(recursive,from_root);

Parameter Description
recursive Optional.  Specifies a Boolean value. If TRUE, all namespaces declared in parent and child nodes are returned. If FALSE, only namespaces declared in root node is returned. Default is FALSE
from_root Optional. Specifies a Boolean value. TRUE check namespaces from the root of the XML doc. FALSE check namespaces under a child node. Default is TRUE

Technical Details

Return Value: Returns an array of namespace names with their associated URIs
PHP Version: 5.1.2+
PHP Changelog: PHP 5.4: The from_root parameter was added

More Examples

Example 1

Return all namespaces declared in parent and child nodes of the XML document:

<?php
$xml=<<<XML
<?xml version="1.0" standalone="yes"?>
<cars xmlns:c="http://w3ii.com/ns">
  <c:car id="1">Volvo</c:car>
  <c:car id="2">BMW</c:car>
  <c:car id="3" a:country="Sweden" xmlns:a="http://w3ii.com/country">Saab</c:car>
</cars>
XML;

$sxe=new SimpleXMLElement($xml);
$ns=$sxe->getDocNamespaces(TRUE);
var_dump($ns);
?>
Run example »

< PHP SimpleXML Reference