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
우리의 꿈은, 뒤에 오는 사람들이 우리를 딛고 우리 위에서 이루게 하는 것입니다. 나는 평생을 창조적인 작업을 위해서 살아왔습니다. 누가 하라고 해서 한 것이 아니라 그것이 나의 삶 그 자체의 즐거움이었기 때문입니다. 현실을 직시하며 현재의 수준을 유지하라. 그리고 더 먼 곳을 향하는 시야를 가져라.