SimpleXMLElement::getDocNamespaces
(PHP 5 >= 5.1.2)
SimpleXMLElement::getDocNamespaces — Returns namespaces declared in document
Beschreibung
public array SimpleXMLElement::getDocNamespaces
([ bool
$recursive = false
] )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.
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"
}
Siehe auch
- SimpleXMLElement::getNamespaces() - Returns namespaces used in document
- SimpleXMLElement::registerXPathNamespace() - Creates a prefix/ns context for the next XPath query
There are no user contributed notes for this page.
