我出于某种原因出现了XML错误,即使这个(初学者)代码完成了我想要它做的事情。 它将字符串提取到数组中。
第11行导致“注意:试图在第11行的D:\ pam \ w \ www \ mp \ p \ lasxml.php中获取非对象的属性”
<?php
$xml = new DOMDocument( "1.0", "ISO-8859-1" );
$xml = simplexml_load_file('http://www.myepisodes.com/rss.php?feed=mylist&showignored=0&sort=asc&uid=Demerzel&pwdmd5=c6ed54b98a82b1----ac58147cedbde5');
$allaFullStringfranxml = array();
$i = 0;
do{
$allaFullStringfranxml[] = $xml->channel->item[$i]->title;
++$i;
}while(($xml->channel->item[$i]->title) != null);
答案 0 :(得分:1)
我不确定你为什么使用do-while循环,我认为在这种情况下foreach会更好 - while循环运行至少一次(即使没有项目)。此外,您正在递增$i
变量,然后检查具有title
索引的项目的标题$i
是否为null
- 如果不检查该项目是否确实存在,则不应该这样做。这对您来说应该更好:
foreach ($xml->channel->item as $item) {
$allaFullStringfranxml[] = (string)$item->title;
}
你也可以在这里注意到我正在做(string)$item->title
- 将标题节点转换为字符串,在其他情况下你将存储节点对象。