我已经看过类似的文章,例如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