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
나는 언제나 나의 바깥에서 힘과 자신감을 찾았지만, 그것들은 항상 나의 내부에 있었다. (안나 프로이트)