SimpleXMLElement::getNamespaces
(PHP 5 >= 5.1.2, PHP 7)
SimpleXMLElement::getNamespaces — ドキュメントで使用している名前空間を返す
説明
public SimpleXMLElement::getNamespaces
([ bool $recursive
= false
] ) : array
ドキュメントで使用している名前空間を返します。
パラメータ
recursive
- 指定されている場合は、親ノードおよび子ノードで使用している全ての名前空間を返します。 されていない場合は、ルートノードで使用している名前空間のみを返します。
返り値
getNamespaces
メソッドは、
名前空間名および関連付けられた URI を配列で返します。
例
例1 ドキュメントで使用している名前空間の取得
<?php$xml = <<<XML<?xml version="1.0" standalone="yes"?><people xmlns:p="http://example.org/ns%22 xmlns:t="http://example.org/test%22> <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->getNamespaces(true);var_dump($namespaces);?>
上の例の出力は以下となります。
array(1) { ["p"]=> string(21) "http://example.org/ns" }
参考
- SimpleXMLElement::getDocNamespaces() - ドキュメントで宣言されている名前空間を返す
- SimpleXMLElement::registerXPathNamespace() - 次の XPath クエリ用の prefix/ns コンテキストを作成する