我已經看過類似的文章,例如this one,我無法完成它的工作,很可能我只是誤會。訪問數組中的SimpleXMLElements
我有一個簡單的腳本,它解析了一些xml並打印出特定的字段 - 我遇到麻煩的是訪問SimpleXMLElement對象的數據。
XML(簡化爲清楚起見)
<channel>
<item>
<title><![CDATA[Title is in here ...]]></title>
<description>Our description is in here!</description>
</item>
</channel>
PHP
$url = "file.xml";
$xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
foreach ($xml->channel->item as $item) {
$articles = array();
$articles['title'] = $item->title;
$articles['description'] = $item->description;
}
到現在爲止,一切似乎確定。我最終的內容的陣列,我可以用print_r確認,這是我得到的結果:
Array
(
[title] => SimpleXMLElement Object
(
[0] => Title is in here ...
)
[description] => SimpleXMLElement Object
(
[0] => Our description is in here!
)
)
關鍵的問題
我如何再進入[標題] [0]或[描述] [0]?
我已經嘗試了一些沒有成功的變體,很可能是某處的菜鳥錯誤!
foreach ($articles as $article) {
echo $article->title;
}
和
foreach ($articles as $article) {
echo $article['title'][0];
}
和
foreach ($articles as $article) {
echo $article['title'];
}
有一個特殊的原因爲什麼你想要在數組中填充每個$ item-> title和$ item-> description?即爲什麼你不能簡單地在你需要的地方使用簡單元素? – VolkerK 2010-08-19 12:27:43
可能會有大量的標題/描述 - 我想將它們聚集在一起,然後用另一個過程遍歷它們...如果聽起來像錯誤的過程,雖然我會喜歡其他建議:) – suitedupgeek 2010-08-19 12:35:33