繁体   English   中英

PHP简单的XML,循环通过对象,将字符串放入数组

[英]php simple xml, loop hrough object, put string in array

我由于某种原因而收到了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);                   

我不确定为什么要使用do-while循环,我认为在这种情况下,foreach会更好-while循环至少运行一次(即使没有项目)。 另外,您要递增$i变量,然后检查带有$i索引的项目的标题title是否为null -在检查该项目是否确实存在之前,不应这样做。 那应该对您更好:

foreach ($xml->channel->item as $item) {
    $allaFullStringfranxml[] = (string)$item->title;
}

您还可以在这里注意到,我正在执行(string)$item->title将标题节点转换为字符串,在其他情况下,您将存储节点对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM