SimpleXML
PHP Manual

SimpleXMLElement->getDocNamespaces()

(PHP 5 >= 5.1.2)

SimpleXMLElement->getDocNamespaces() — Returns namespaces declared in document

说明

SimpleXMLElement
array getDocNamespaces ([ bool $recursive ] )

Returns namespaces declared in document

参数

recursive

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

返回值

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

范例

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

?>

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

?>

参见


SimpleXML
PHP Manual