函式名:SimpleXMLElement::getNamespaces()
適用版本:PHP 5 >= 5.1.3, PHP 7
函式用途:SimpleXMLElement::getNamespaces() 方法用於獲取當前 XML 元素的名稱空間列表。
語法:public array SimpleXMLElement::getNamespaces ( bool $recursive = false )
引數:
- recursive(可選):指定是否遞迴獲取名稱空間,預設為 false,表示只獲取當前元素的名稱空間。
返回值:返回一個包含當前元素名稱空間的關聯陣列。陣列的鍵是名稱空間字首,值是名稱空間的 URI。
示例:
$xmlString = '<root xmlns:ns1="http://example.com/ns1" xmlns:ns2="http://example.com/ns2">
<child>Some content</child>
</root>';
$xml = new SimpleXMLElement($xmlString);
$namespaces = $xml->getNamespaces();
foreach ($namespaces as $prefix => $uri) {
echo "名稱空間字首:{$prefix},名稱空間 URI:{$uri}\n";
}
輸出:
名稱空間字首:ns1,名稱空間 URI:http://example.com/ns1
名稱空間字首:ns2,名稱空間 URI:http://example.com/ns2
在上面的示例中,我們建立了一個包含名稱空間的 XML 字串,並使用 SimpleXMLElement 類將其解析為一個 XML 物件。然後,我們使用 getNamespaces() 方法獲取當前元素的名稱空間列表,並透過 foreach 迴圈遍歷輸出每個名稱空間的字首和 URI。
注意:如果 recursive 引數設定為 true,getNamespaces() 方法將遞迴獲取所有父元素的名稱空間。