2009-07-15 81 views
2

我想知道如何解析XML中的值,這些值看起來有:以他們的名義。我一直在使用:如何使用SimpleXML解析包含自定義名稱空間的XML?

$response = file_get_contents($url); 
$data = simplexml_load_string($response); 

然後做一個:

foreach($data->item as $key => $current){ 

然而,最新的一個提要,我一直在考慮在飼料的名稱冒號所看到的例子如下:

<item> 
    <title>foo</title> 
    <description>foo</description>   
    <ccc:fid>10</ccc:fid> 
    <ccc:bid>6</ccc:bid> 
</item> 

當我嘗試創建一個$ current-> ccc:出價php沒有達到開心(正確如此)。有什麼辦法可以解決這個問題嗎?

回答

3

含有冒號的元素使用namespace prefixes,它是完全有效的XML。同時使用多個模式時,名稱空間可幫助區分具有相同名稱的元素。該方法在PHP的SimpleXMLElement對象處理它,你基本上可以忽略冒號前的部分:

$current->fid; 

如果你想找出元素名稱的名稱空間部分,你可以這樣做:

$current->fid->getNamespaces(); 
2

了「CCC」是一個命名空間 - 你應該能夠做到

$current->fid