2012-12-12 3 views
1

이 초보자 코드가 원하는대로 XML 오류가 발생합니다. 문자열을 배열로 가져옵니다.php simple xml, loop hrough object, 배열에 문자열 넣기

라인 11 개 결과 난

<?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

load_file URI에 큰 공간이 있습니다. 거기 있으면 안된다. – deed02392

+0

아, 네, 그곳에는 be shouldnt, 편집 됨 – user1897126

답변

1

"주의 사항 : 라인 11 \ PAM \ w \ WWW \ MP의 \ P는 \의 lasxml.php : D에 비 객체의 속성을 얻기 위해 노력" 왜 do-while 루프를 사용하는지 잘 모르겠다. foreach는 더 좋을 것이다. while 루프는 적어도 한 번은 실행된다. (아이템이 없다고하더라도). 또한 $i 변수를 증가시키고 $i 색인의 제목 titlenull인지 확인하십시오. 해당 항목이 실제로 존재하는지 확인하지 않고서는 안됩니다. 그것은 당신을 위해 잘 작동합니다 :

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

또한 여기에 내가 (string)$item->title하고있어 것을 알 수 있습니다 - 문자열로 제목 노드를 변환합니다 다른 경우에 당신은 노드 객체를 저장할 수 있습니다 그.

+0

정말 고마워요! foreach를 시도해 보았지만 초보자로서의 추상적 인 것입니다. – user1897126

+0

이렇게하면 최종 아이템 속성을 얻지 못하고 시도하지 않으므로 Notice 경고도 해결됩니다. 사라진다면이 대답을 받아 들여야합니다. SO에 오신 것을 환영합니다! – deed02392

+0

예, 처리했습니다. :) 내가 왜했는지 확신하지 못하는 동안 .. 늦은 밤 시행 착오 – user1897126