2011-05-26 78 views
1

我試圖從XML提要中獲取值,但我不確定如何獲取它。 飼料:通過屬性值查找XML文檔中的節點

<name> 
    <namerecord nameID="0" platformID="1" platEncID="0" langID="0x0"> 
     Hello World 
    </namerecord> 
    <namerecord nameID="1" platformID="1" platEncID="0" langID="0x0"> 
     MyName 
    </namerecord> 
    <namerecord nameID="6" platformID="1" platEncID="0" langID="0x0"> 
     Another Record 
    </namerecord> 
    <namerecord nameID="12" platformID="1" platEncID="0" langID="0x0"> 
     Another Record Again 
    </namerecord> 

我想抓住從該項目,由目標是什麼的填充NameID價值。如果我只是通過像namerecord [0]那樣定位它,那麼它在我需要的方式上就不正確。

我已經試過無數的東西:

$test = $xml->name->namerecord->attributes('nameId, '12'); 

有什麼建議?

回答

1

這就是你現在如何處理XML:

$dom = new DOM(); 
$dom->load('your xml here'); 

$xp = new XPath($dom); 

$node = $xp->query('//namerecord[@nameID=12]')->item(0); 

$nameID = $node->getAttribute('nameID'); 
+0

不知道,DOM()類是什麼,它不是在PHP5工作。我認爲simpleXML是在PHP中使用XML的最佳方式? – Wayha 2011-05-27 07:45:24

+0

http://php.net/dom可能它沒有在你的安裝中啓用,或捆綁爲一個單獨的軟件包。 SimpleXML沒問題,但將其視爲「DOM-lite」 – 2011-05-27 14:13:28