PostingXMLExample.java 를 PostingXMLExample.php 으로 :: 2009/09/16 18:14

<?php

// xml 데이터를 받는다   
$receive_xml = $HTTP_RAW_POST_DATA;

// echo $_GET["timeStamp"] . $receive_xml;

$rXml = xml_parser_create();    // xml 파서를 생성시킨다.  
$arXml = array();           // 임시 배열 
$strXml = '';               // xml의 내용을 저장할 변수 

xml_parser_set_option($rXml, XML_OPTION_CASE_FOLDING, 0);   // 대문자로 변경 (기본이 enable이라 disable함) 
xml_parser_set_option($rXml, XML_OPTION_SKIP_WHITE, 1);     // 공백값을 무시힌다.  
xml_parse_into_struct($rXml, $receive_xml, $arXml);  // 읽어들인 XML을 이용해서 배열에 XML구조를 담는다. 
xml_parser_free($rXml); 

$strNodeKey = '';            // XML tag 이름이 들어가자
$$arXmlAssoc = array();        // 연관배열 형식으로 하기 위해서 선언

foreach($arXml as $key => $arNode)
{
    switch ($arNode['type']) 
        { 
            case 'open': 
                $strNodeKey = $arNode['tag']; 
                $arXmlAssoc[$strNodeKey]; 
                break;
            case 'complete': 
                if(is_array($arNode['attributes'])) 
                { 
                    $arXmlAssoc[$strNodeKey][$arNode['tag']][] = array('attr' => $arNode['attributes'], 'value' => $arNode['value']); 
                } 
                else  
                { 
                    $arXmlAssoc[$strNodeKey][$arNode['tag']][] = $arNode['value']; 
                } 
                break; 
            case 'close': 
                // Nothing
                break; 
        }
}

foreach($arXmlAssoc['pets']['type'] as $arElement)
{
    $strXml .= " " . $arElement;
}

echo $strXml;

// print_r($arXml);

?>

이올린에 북마크하기

2009/09/16 18:14 2009/09/16 18:14
Trackback Address :: http://www.foxwolf.net/gihun/trackback/50
↓↓↓ 거침없이 의견 남겨 주세요! ↓↓↓
  • 기훈 | 2009/09/16 18:16 | PERMALINK | EDIT/DEL | REPLY

    이 옵션을 사용하기 위해서는 /etc/php5/apache2/php.ini 파일에 주석처리 되어 있는
    ; Always populate the $HTTP_RAW_POST_DATA variable.
    always_populate_raw_post_data = On
    을 활성화 해주어야 함.

[로그인][오픈아이디란?]
Name
Password
Homepage

Secret
< PREV |  1  |  ...  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  ...  37  |  NEXT >