PHP & Others

xml php 배열로 뽑아내고 html 에 출력하기

컨텐츠 정보

본문

xml 을 사용하면 여러가지로 편릴할 것 같아서
데이타성격을 가지고 있는 것들을 xml 로 만들어서
그걸 다시 php에서 변수로 담는 작업을 합니다.
드 다음에 xml 에 담아 있는 값을 원하는 형태의 값으로 변형시킨다음에
템플릿을 사용해 출력하는 방식을 해 보았습니다.

1. XML
<DATA>
        <ARTICLE>
                <uid>1</uid>
                <subject>xml test</subject>
                <signdate>2004-04-06</signdate>
        </ARTICLE>

        <ARTICLE>
                <uid>2</uid>
                <subject>xml ok test</subject>
                <signdate>2004-04-06</signdate>
        </ARTICLE>
</DATA>

2. 사용할 템플릿 변수와 사용될 함수등을 배열로 등록해 놓습니다.
$xml_vars["제목"]= array("use"=>1, "field"=>"", "merge"=>"", "method"=>"str_magic", "run"=>array("[subject]", 30, ", "", "", &$http_p_vars));
$xml_vars["AHREF"]= array("use"=>1, "field"=>"[uid]", "merge"=>"./?mode=read&uid=", "method"=>"", "run"=>array());
$xml_vars["등록일"]        = array("use"=>1, "field"=>"", "merge"=>"", "method"=>"runDate", "run"=>array("[signdate]","datePrintType","Y. m. d"));

3. xml 을 배열로 추출하고 2 에 있는 배열과 함께 돌려서 원하는 값으로 배열에 저장 합니다.

$ClassProgram_->runXml(&$http_g_vars["_dir_path"], "qnda.xml");

$count = count($ClassProgram_->multiClass["Xml"]->arr->DATA[0]->ARTICLE);                       
for($i=0; $i<$count; $i++)
{                               
$arr[$i]["subject"].= $ClassProgram_->multiClass["Xml"]->arr->DATA[0]->ARTICLE[$i]->subject[0];
$arr[$i]["signdate"].= $ClassProgram_->multiClass["Xml"]->arr->DATA[0]->ARTICLE[$i]->signdate[0];
$arr[$i]["uid"].= $ClassProgram_->multiClass["Xml"]->arr->DATA[0]->ARTICLE[$i]->uid[0];
}
                       
$LOOP1 = $ClassProgram_->xmlLoop(&$arr,  &$xml_vars);

4. 템플릿 프로그램에서 이를 출력합니다.

PHP5라면 SimpleXML을 이용해서 무지 쉽게 할 수 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
유쾌한 사람은 자기 일에만 몰두하는 사람이 아니다. 때론 자신의 일을 전부 제쳐놓고 타인의 문제에 전력을 쏟는 열정이 있는 사람이다. 타인에게 자신의 힘을 나누어주고 마음을 열어주는 것은 자신의 삶을 행복하게 만드는 방법이다.