SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces Returns namespaces declared in document

Beskrivelse

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

Returns namespaces declared in document

Parametre

recursive

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

Returnerings Værdier

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

Eksempler

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

?>

The above example will output:

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

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

?>

The above example will output:

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

Se også

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top