SimpleXMLElement
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces Returns namespaces declared in document

Descrierea

public array SimpleXMLElement::getDocNamespaces ([ bool $recursive = false ] )

Returns namespaces declared in document

Parametri

recursive

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

Valorile întoarse

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

Exemple

Example #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);

?>

Exemplul de mai sus va afișa:

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

Example #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);

?>

Exemplul de mai sus va afișa:

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

Vedeți de asemenea


SimpleXMLElement
PHP Manual