SimpleXMLElement::getDocNamespaces
(PHP 5 >= 5.1.2)
SimpleXMLElement::getDocNamespaces — Retorna los namespaces declarados en el documento
Descripción
$recursive = false
[, bool $from_root = true
]] )Retorna los namespaces declarados en el documento
Parámetros
-
recursive -
Si se especifica, retorna todos los namespaces declarados en los nodos padre e hijos. De lo contrario, retorna únicamente el namespace declarado en el nodo raíz.
-
from_root -
Permite comprobar recursivamente espacios de nombres bajo un nodo hijo en lugar de desde la raíz del documento XML.
Valores devueltos
El método getDocNamespaces retorna un array de nombres de namespaces con sus URIs asociadas.
Ejemplos
Ejemplo #1 Obtener los namespaces del documento
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<gente xmlns:p="http://example.org/ns">
<p:persona id="1">John Doe</p:persona>
<p:persona id="2">Susie Q. Public</p:persona>
</gente>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);
?>
El resultado del ejemplo sería:
array(1) {
["p"]=>
string(21) "http://example.org/ns"
}
Ejemplo #2 Trabajando con múltiples namespaces
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<gente xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:persona t:id="1">John Doe</p:persona>
<p:persona t:id="2" a:direccion="Calle 123" xmlns:a="http://example.org/addr">
Susie Q. Public
</p:person>
</gente>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);
?>
El resultado del ejemplo sería:
array(3) {
["p"]=>
string(21) "http://example.org/ns"
["t"]=>
string(23) "http://example.org/test"
["a"]=>
string(23) "http://example.org/addr"
}
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.4.0 |
Se añadió el parámetro from_root.
|
Ver también
- SimpleXMLElement::getNamespaces() - Retorna los namespaces usados en el documento
- SimpleXMLElement::registerXPathNamespace() - Crea un contexto prefijo/ns para la siguiente petición XPath