我試圖圍繞PHP和XML包裝我的頭。通過PHP檢索XML頁面的元素
我試圖做一些事情:
還有就是我通過捲曲檢索XML文檔(也嘗試過各種PHP的XML庫參數,如XMLReader::open($url)
等回收的方法並不重要;我能夠並且已經得到了這部分工作
問題是解析檢索頁面上的XML
這裏是XML的一個例子:。
我需要從該頁面獲得的是電話號碼;
<datafield tag="060" ind1=" " ind2=" ">
<subfield code="a">WM 173.6 R823m</subfield>
</datafield>
作者;
<datafield tag="100" ind1="1" ind2=" ">
<subfield code="a">Ross, Colin A.</subfield>
</datafield>
和標題信息;
<datafield tag="245" ind1="1" ind2="0">
<subfield code="a">Multiple personality disorder :</subfield>
<subfield code="b">diagnosis, clinical features, and treatment /</subfield>
<subfield code="c">Colin A. Ross.</subfield>
</datafield>
看起來夠簡單。然而,對於我來說,我似乎無法獲得任何內置的PHP函數來處理XML的工作(因爲我做錯了)。
這裏是我試過的例子:
//xml file retrieved via curl and saved to folder
$file="9780471615156.xml";
$xml = simplexml_load_file($file);
echo $xml->getName();//returns searchRetrieveResponse
foreach($xml->searchRetrieveResponse[0]->attributes() as $a => $b){
echo $a,'="',$b,"\"</br>";//nothing
}
foreach ($xml->searchRetrieveResponse[0]->children() as $child){
echo "Child node: " . $child . "<br />";//nothing
}
它返回第一個節點的名稱,但我不能讓它去任何更深。
注:我運行PHP 5+
正是我所需要的。非常感謝! – stormdrain 2010-08-01 21:16:13
@stormdrain:我的榮幸:)享受 – dwich 2010-08-01 21:21:38