<?php
$xmlstr = <<<XML
<books>
<book>
<title>Great American Novel</title>
<plot>
Cliff meets Lovely Woman.
</plot>
<success type="bestseller">4</success>
<success type="bookclubs">9</success>
</book>
<book>
<title>Man Bites Dog</title>
<plot>
Reporter invents a prize-winning story.
</plot>
<success type="bestseller">22</success>
<success type="bookclubs">3</success>
</book>
</books>
XML;
?>
<?php
$xml = new SimpleXMLElement($xmlstr);
foreach ($xml->book[0]->success as $success) {
switch((string) $success['type']) {
case 'bestseller':
echo $success, ' months on bestseller list<br />';
break;
case 'bookclubs':
echo $success, ' bookclub listings<br />';
break;
}
}
?>
자습서 사이트에서이 코드를 잘라내어 잘되었습니다. 나는 내 뜻대로 그것을 바꾸려고 노력하고있다. 하지만 내가 원하는대로 할 수는 없습니다. 첫 번째 인스턴스뿐만 아니라 모든 성공 유형을 인쇄하려고합니다. 이 xml 피드에는 단 두 권의 책과 제목이 있습니다. 구문 분석하려는 XML 피드는 더 많은 정보를 갖지만 구조는 동일하며 인쇄 할 수있는 유일한 결과는 4와 9입니다. 첫 번째 도서 제목입니다.PHP로 XML 파싱하기
XML에 네임 스페이스가있는 경우를 제외하고는 다른 모든 불건전 한 사항에 빠지게됩니다. –