ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


PHP - xml ÀоîµéÀ̱â(read) Ŭ·¡½º
13³â Àü
PHP - xml ÀоîµéÀ̱â(read) Ŭ·¡½º

PHP ¿¡¼­ xml ¿ë parser Ŭ·¡½º ÀÔ´Ï´Ù. ¾ÆÁ÷ Å×½ºÆ®´Â ¸øÇغÃÁö¸¸ Àß ÀÛµ¿Çϸ®¶ó »ý°¢µË´Ï´Ù.

Ãâó: https://svn.skumleren.net

<?php

class xmlread
  {

    var $tree = '$this->ogg';
    var $ogg    ;
    var $cnt = 0;

    /************
    * change_to_array
    * is called by startElement
    * to check if there is need
    * to change element to array
    ************/
    function change_to_array($test,$is_arr) {
    if ($test and !$is_arr):  //if element is set, change it to array
      eval('$tmp = '.$this->tree.';'); //save element to tmp
      eval('unset('.$this->tree.');'); //unset element
      eval(''.$this->tree.'= array();'); //transform $this->tree in an array
      eval('array_push('.$this->tree.',$tmp);');//push old object
                                                //into the array
      return true;
    endif;
    if ($is_arr)
      return true;
    }

    /************
    * startElement
    ************/
    function startElement($parser, $name, $attrs)
    {
      $this->tree = $this->tree."->".$name;  //add tag to tree string
                                            //test if element is an array
      eval('$is_arr = is_array('.$this->tree.');');
                                        //test if element is set
      eval('$test = isset('.$this->tree.');');
                                  //if is already set (and not array)...
                                  //...change it to array
      $is_arr = $this->change_to_array($test,$is_arr);

      if ($is_arr):                  //if is an array
        $this->cnt = $this->cnt+1;    //increase counter
                    //and set tree-string to add element
        $this->tree = $this->tree.'['.$this->cnt.']';
      endif;

    return true;}

    /************
    * characterData
    ************/
    function characterData($parser, $data)
    {
      if (trim($data)!=''):
        $data = addslashes($data);
                //add data to tree set up by startElement()
        eval($this->tree."='".trim($data)."';");
      endif;
    return true;}

    /************
    * endElement
    ************/
    function endElement($parser, $name)
    { //cut last ->element
      $pos  = strrpos($this->tree, ">");
      $leng = strlen($this->tree);
      $pos1 = ($leng-$pos)+1;
      $this->tree = substr($this->tree, 0, -$pos1);
    return true;}

    /************
    * get_data: this is the
    * parser
    ************/
        function get_data
        ($doc,$st_el='startElement',
        $end_el='endElement',
        $c_data='characterData') {
        $this->mioparser = xml_parser_create();
        xml_set_object($this->mioparser, &$this);
        xml_set_element_handler
        ($this->mioparser, $st_el,$end_el);
        xml_set_character_data_handler
        ($this->mioparser,$c_data);
        xml_parser_set_option
        ($this->mioparser, XML_OPTION_CASE_FOLDING, false);
        xml_parse($this->mioparser,$doc);
        if (xml_get_error_code($this->mioparser)):
          print "<b>XML error at line n. ".
          xml_get_current_line_number
          ($this->mioparser)." -</b> ";
          print xml_error_string
            (xml_get_error_code($this->mioparser));
        endif;
    return true; }

    function xmlread($doc) {
        $xml = file_get_contents($doc);
        $this->get_data($xml);
    return true; }

   }  //end of class
  
?>

ÃßõÃßõ : 241 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
742
PHP¿¡¼­ Á¢¼ÓÀÚ IP ¾Ë¾Æ³»±â
741
¸®´ª½º ftp ¸í·É¾î ¸ðÀ½
740
PHP ¹öºí¼ÒÆ® ¾Ë°í¸®Áò
739
PHP¿¡¼­ ¼º´É °³¼±À» À§ÇÑ À¯¿ëÇÑ ÆÁ
738
PHP Caching to speed up
737
[PHP] post, get, cookie, session º¯¼ö È®ÀÎ
736
PHP ¹®ÀÚ¿­Áß ¼ýÀÚ¸¸ ÃßÃâÇϱâ
735
PHP ¼Óµµ Å×½ºÆ® 14 °¡Áö
734
PHP ¸ÞÀÏ(mail) ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ Ã·ºÎÈ­ÀÏ Àü¼ÛÇϱâ
733
PHP ÇÔ¼ö °£´Ü Á¤¸®
732
PHP¿¡¼­ ¼¼¼Ç(session) »ç¿ëÇϱâ
731
PHP explode ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¿­ ºÐ¸®
730
PHP split ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¿­ ºÐ¸®
729
PHP ¿À´Ã³¯Â¥¸¦ ±âÁØÀ¸·Î ÀÌÀü,ÀÌÈÄ ³¯Â¥±¸Çϱâ
728
PHP ÇÑ±Û ¹®ÀÚ¿­ ÀÚ¸£±â
727
PHP ¹öÀü È®ÀÎÇϱâ
726
PHP - SELECT·Î ¹ÝȯµÈ ·¹ÄÚµå °¹¼ö¿Í Ä÷³ÀÇ °¹¼ö¸¦ ¾Ë·ÁÁÖ´Â ÇÔ¼ö
725
PHP Æû(form)°ªÀÇ À¯È¿¼º üũ
724
PHP no-cache ¼³Á¤(µÚ·Î°¡±â ¸·±â)
723
PHP ¿¡·¯ ó¸® ÇÔ¼ö die
722
PHP MySQL ¸í·É¾î ½ÇÇà ÇÔ¼ö mysql_query
721
PHP·Î MySQL µ¥ÀÌÅͺ£À̽º ¸¸µé±â(»ý¼ºÇϱâ)
720
PHP¿Í ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ µå·Ó´Ù¿î ¸Þ´º
PHP - xml ÀоîµéÀ̱â(read) Ŭ·¡½º
718
PHP ÆÄÀÏ ½Ã½ºÅÛ(File System) ´Ù·ç±â #1
717
PHP ÆÄÀÏ ³»¿ë Àбâ(freadÇÔ¼ö)
716
PHP ÆÄÀÏ ÇÑÁÙ Àбâ(fgetsÇÔ¼ö)
715
PHP ÇöÀç ÆäÀÌÁöÀÇ µµ¸ÞÀθíÀ̳ª urlµîÀÇ Á¤º¸ ¾Ë¾Æ¿À±â
714
PHP - À¥»çÀÌÆ®ÀÇ À¯È¿¼º üũ
713
PHP - ÆÄÀÏ´Ù¿î·Îµå ÇÔ¼ö
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.