2
我有一個SimpleXMLElement,我使用curl在XML文件中讀取它。 試圖從中獲得值我似乎需要使用嵌套的foreach,但在類似的情況下,我能夠一次完成這項工作。現在我真的好奇爲什麼這不起作用:循環SimpleXMLElement對象只能在兩個步驟中工作
它的美味的RSS提要;
SimpleXMLElement Object
(
[title] => Delicious/chrisvdberge
[link] => http://www.delicious.com/chrisvdberge
[description] => bookmarks posted by chrisvdberge
[item] => Array
(
[0] => SimpleXMLElement Object
(
[title] => Diagrammr
[pubDate] => Thu, 06 May 2010 12:40:07 +0000
[guid] => http://www.delicious.com/url/2fc2ed0e870ec9d001b645dfaed0e771#chrisvdberge
[link] => http://www.diagrammr.com/
[comments] => http://www.delicious.com/url/2fc2ed0e870ec9d001b645dfaed0e771
[source] => chrisvdberge's bookmarks
[category] => Array
(
[0] => tagthis
[1] => visualization
[2] => diagrams
)
)
[1] => SimpleXMLElement Object
(
[title] => Ignite Toronto 2: Ryan Coleman - Designing for visual efficiency on Vimeo
[pubDate] => Mon, 18 Jan 2010 08:05:06 +0000
[guid] => http://www.delicious.com/url/9a0de307f3f37baaa25ad20b4dbc4537#chrisvdberge
[link] => http://vimeo.com/8317770
[comments] => http://www.delicious.com/url/9a0de307f3f37baaa25ad20b4dbc4537
[source] => chrisvdberge's bookmarks
[category] => Array
(
[0] => tagthis
[1] => vizthink
)
)
等
我可以用嵌套的foreach訪問的所有鏈接:
foreach ($delicious_res as $item) {
foreach ($item->item as $entry){
echo $entry->link."<br />";
}
}
但我不明白爲什麼我不能用這個(我可以在另一種情況)
foreach ($delicious_res->item as $item) {
echo $entry->link."<br />";
}
我真的很想明白爲什麼爲了更好地理解SimpleXML;)
thx很多! Id需要捲曲的「花哨」東西是什麼?並且simplexml_load_file更快? – Chrisvdberge 2010-10-27 18:25:03
@Chrisvdberge那麼,花哨的東西將是e。 G。使用POST請求來獲取數據。使用POST時,您必須使用捲曲。捲曲通常用於執行更復雜的http請求,在你的情況下你可以做得更簡單。性能應該差不多,但代碼讀取更好,而不是許多curl_setopt()調用。 :-) – Max 2010-10-27 18:32:56