2012-07-16 2 views
0

나는 다음과 같은 한 :XML 구문 분석에서 예약어?

<?php 

#Load in File 
$xmlUrl ="http://sports.espn.go.com/espn/rss/mlb/news"; 
$ConvertToXml = simplexml_load_file($xmlUrl); 

# -> Setup XML 
$newsStory = $ConvertToXml->channel; 

# -----> Load News Stories 
for($i = 0;$i<sizeof($newsStory); $i++){ 

    // Source of Article Info--> 
    $SrcTitle=$newsStory[$i]->title; 
    $SrcLink=$newsStory[$i]->link; 

    // Actual News Article Info --> 
    $title=$newsStory[$i]->item->title; 
    $desc=$newsStory[$i]->item->description; 


    echo '<hr>'; 
    echo '<strong>'.'Title:'.$title.'</strong>'.'(via: <a href=\''.$SrcLink.'\'>'.$SrcTitle.'</a>'.'<br />'; 
    //echo 'Link:'.$link.'<br />'; 
    echo 'Description'.$desc.'<br>'; 
    echo '<hr>'; 
} 

은 그냥 한 결과를 출력 할 때 출력합니다 약 10 결과 ...

이 줄 : $SrcLink=$newsStory[$i]->link;은 "링크"단어가 나타납니다에 아마도 '예약'수 여기 내 편집기에 미치는 보라색 이후 아래의 그림과 같이 단어 :

img

은 내가 잘못 여기서 뭐하는 거지?

+0

예약되지 않았기 때문에 편집자는 [link()'] (http://php.net/link)를 호출한다고 생각합니다. – nickb

답변

1

아닌 IDE가 보라색 강조하지만 여기서 문제가되는 이유를 확인하십시오

$newsStory = $ConvertToXml->channel; 

요구 사항이 변경 될 :

$newsStory = $ConvertToXml->channel->item; 

RSS 피드의 각 항목은 <에 item > 태그를 사용하면 실제 피드 항목에 대한 루프를 반복해야합니다.

+0

큰 도움이됩니다! 그것을 드루 감사합니다! – CodeTalk

+0

여러분을 환영합니다. 먼저 추가하는 것을 의미하지만 '채널'데이터는 특정 정보를 피드합니다. 따라서 인쇄하고있는 제목과 링크는 피드 제목과 피드 URL입니다. 그 외에도 각 '항목'은 피드의 항목입니다. 그래서 당신이 이전에 한 가지를 인쇄하는 것을 보았습니다. – drew010

0

색 구분은 종종이 문제로 어려움을 겪습니다. 단어가 속성 이름 (->으로 표시됨)으로 사용되고 있으므로 문자 그대로 될 수 있습니다.이 경우 예약어가 없습니다.

나는 루프가 통과해야하는 요소의 수를 정확하게 볼 수 있도록 var_dump(count($newsStory))을 제안합니다. 1 인 경우 $newsStory 변수에 문제가있는 것 같습니다. var_dump도 마찬가지입니다.

관련 문제