디비 또는 POST로 받은 xml 데이타 파싱 문의드립니다
본문
디비에서 불러온 값이 있습니다.
<?php
$Files = '<Root><File Size="310330"><Ori>IMG1k.jpg</Ori><Name>11.jpg</Name><Url>/data/</Url></File><File Size="802710"><Ori>IMG2g.png</Ori><Name>21.png</Name><Url>/data/</Url></File><File Size="107322"><Ori>IMG3v.png</Ori><Name>g3.png</Name><Url>/data/</Url></File><File Size="123443"><Ori>IMG4s.png</Ori><Name>rr.png</Name><Url>/data/</Url></File><File Size="684443"><Ori>IMG5w.png</Ori><Name>y5.png</Name><Url>/data/</Url></File><File Size="140683"><Ori>IMG6g.png</Ori><Name>6w.png</Name><Url>/data/</Url></File>
</Root>';
?>
이것을 보기좋게 엔터를 처보면 아래와 같습니다.
개수는 여러가지로 변경될수 있어요
<?php
$Files = '<Root>
<File Size="310330"><Ori>IMG1k.jpg</Ori><Name>11.jpg</Name><Url>/data/</Url></File>
<File Size="802710"><Ori>IMG2g.png</Ori><Name>21.png</Name><Url>/data/</Url></File>
<File Size="107322"><Ori>IMG3v.png</Ori><Name>g3.png</Name><Url>/data/</Url></File>
<File Size="123443"><Ori>IMG4s.png</Ori><Name>rr.png</Name><Url>/data/</Url></File>
<File Size="684443"><Ori>IMG5w.png</Ori><Name>y5.png</Name><Url>/data/</Url></File>
<File Size="140683"><Ori>IMG6g.png</Ori><Name>6w.png</Name><Url>/data/</Url></File>
</Root>';
?>
최종적으로 추출하고 싶은 형태는 <Url></Url> 값과 <Name></Name> 값을 이용해서 아래와 같은 결과를 얻고자 합니다.
<img src='/data/11.jpg'><img src='/data/21.jpg'><img src='/data/g3.jpg'><img src='/data/rr.jpg'><img src='/data/y5.jpg'><img src='/data/6w.jpg'>
구글링을 다수 해봤는데 xml 파일을 가져와서 추출하는 내용은 많은데
디비의 데이타를 가져와서 그것을 추출하는 형태는 보이지 않네요
결국 실력부족이라서 여러분의 도움의 손길을 기다립니다.
답변 2
$Files = '~~~~~~~~~~';
$xml = simplexml_load_string($Files);
foreach($xml->File as $obj){
echo $obj->Url;
echo $obj->Name;
}
echo preg_replace('#.+?<Name>([^<]+)</Name><Url>([^<]+)(</[^>]+>)+#', "<img src='$2$1'>", $Files);