디비 또는 POST로 받은 xml 데이타 파싱 문의드립니다

디비 또는 POST로 받은 xml 데이타 파싱 문의드립니다

QA

디비 또는 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;
}

구글링하면서 simplexml_load_string 이 파일을 호출할때만 사용가능한건가 생각했습니다.
호출된 데이타에도 적용이 가능한 것이었네요. 안될꺼라는 생각했는데...
소중한 시간내서 답변 감사합니다. 감동입니다.

echo preg_replace('#.+?<Name>([^<]+)</Name><Url>([^<]+)(</[^>]+>)+#', "<img src='$2$1'>", $Files);

슈와이님 감사합니다.  정규식 이라는 표현방식이죠?
시간을 가지고 정규식이라는것을 학습해야겠네요.
소중한 시간내서 답변 고맙습니다. 감동받았어요.

답변을 작성하시기 전에 로그인 해주세요.
전체 67
QA 내용 검색
filter #xml ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT