SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual

# SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces — Returns namespaces declared in document

### Beschreibung

public array SimpleXMLElement::getDocNamespaces ([ bool `$recursive` = false [, bool `$from_root` = true ]] )

Returns namespaces declared in document

### Parameter-Liste

`recursive`

  If specified, returns all namespaces declared in parent and child nodes. Otherwise, returns only namespaces declared in root node.

`from_root`

  Allows you to recursively check namespaces under a child node instead of from the root of the XML doc.

### Rückgabewerte

The getDocNamespaces method returns an array of namespace names with their associated URIs.

### Beispiele

Beispiel #1 Get document namespaces

`<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
<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->getDocNamespaces();
var_dump($namespaces);
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    array(1) {
       ["p"]=>
       string(21) "http://example.org/ns"
    }

Beispiel #2 Working with multiple namespaces

`<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:person t:id="1">John Doe</p:person>
<p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
Susie Q. Public
</p:person>
</people>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    array(3) {
      ["p"]=>
      string(21) "http://example.org/ns"
      ["t"]=>
      string(23) "http://example.org/test"
      ["a"]=>
      string(23) "http://example.org/addr"
    }

### Changelog

Version | Beschreibung
--- | ---
5.4.0 | Added `from_root` parameter.

### Siehe auch

- SimpleXMLElement::getNamespaces() - Returns namespaces used in document
- SimpleXMLElement::registerXPathNamespace() - Creates a prefix/ns context for the next XPath query

SimpleXMLElement::count
SimpleXMLElement::getName
SimpleXMLElement
PHP Manual