2011-02-15 62 views
1

我有以下XML:PHP的XML迭代

<user> 
    <section xmlns="ss">Testing</section> 
    <department xmlns="da">IT</department> 
</user> 

現在在迭代,我想爲標記(部分和DA的部門SS)命名空間的信息。

使用SimpleXMLIterator,我無法獲取每個標記的名稱空間信息。

任何幫助,將不勝感激

+1

一開始,這不是XML :) – Brian 2011-02-15 11:48:18

回答

2

使用SimpleXMLElement::getNamespaces()方法來訪問元素的命名空間(S)。

$xml = ' 
<user> 
    <section xmlns="ss">Testing</section> 
    <department xmlns="da">IT</department> 
</user> 
'; 

$iterator = new SimpleXMLIterator($xml); 
foreach ($iterator as $element) { 
    var_dump($element->getNamespaces()); 
} 

輸出(連同許多警告,因爲你破碎的XML):

array(1) { 
    [""]=> 
    string(6) "ss" 
} 
array(1) { 
    [""]=> 
    string(6) "da" 
}