본문 바로가기

개발도구/PHP,ASP,JSP,SCRIPT

[rss] xml 파싱 object

xml
  <?xml version="1.0" encoding="UTF-8" ?>
- <response>
- <result>
  <code>0</code>
  <goodsnum>3</goodsnum>
  </result>
- <value>
- <goodslist>
  <goods_id>100520000009</goods_id>
- <category1>
<![CDATA[
실물
  ]]>
  </category1>
- <category2>
<![CDATA[
햄버거
  ]]>
  </category2>
  <affiliate>롯데리아</affiliate>
- <desc>
- <![CDATA[
치킨 가슴살로 만든 저 칼로리 고단백 제품

전 매장 사용 가능(단, 휴게소 및 리조트점 등 일부매장 제외)
본 쿠폰은 포인트 적립 및 할인카드적용이 되지 않습니다
  ]]>
  </desc>
- <goods_nm>
<![CDATA[
치킨버거
  ]]>
  </goods_nm>
 .
.
.
.
 
그전에는 array 형식의 파싱을 보았습니다. 
지금 방식은 object 형태의 방식인데요.
array 방식으론 CDATA 을 걸러 낼수가 없더군요.
물론 다른 방법이 있겠지만, 전 못해서. . . 우회? 하기로 했답니다. 
결국 object 방식으로 채택!!!
아래와 같이 소스를 추가해주시면 되며, 중간 중간 마다 로그를 찍어 보면 좋을듯 싶습니다.
$url = "주소//// ";

$xml = get_xml($url);
 
echo count($xml->value->goodslist->desc); // 위에 노드를 따라 찍어보았다. 카운트가 들어간다. 값이 있다는 말이다. :)
 
echo $xml->value->goodslist->desc;

$title    = (String)$xml->response->value->goodslist->goods_id; 
echo $title;