홈으로 홈으로 | 무료회원가입 | 아이디/비번찾기 | 즐겨찾기
추천음악방송메인홈1대1상담음악방송청취
운.영.자.1대1.상담

온라이브음악방송
온라이브스토어(앱다운로드)
아리랑가요(무료음악채널)
뽕짝아가씨(무료음악채널)
okTrot(무료음악채널)
전통가요(무료음악채널)

환상의뽕짝파티 무료음악
명작트로트메들리 무료음악
트로트메들리관광 무료음악
동영상노래방
가사검색

POP Player
신나는 고스톱
컴퓨터 오목
작은 음악다방
최신 인기가요

보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
PHP - xml 읽어들이기(read) 클래스
9년 전
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
  
?>

추천추천 : 174 추천 목록
번호 제목
3,026
 여러 도메인들 간 쿠키 공유하기
3,025
 태그 사이에 있는 텍스트를 추출
3,024
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,023
 쿠키 생성,가져오기,삭제
3,022
 사용자 함수 모음
3,021
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,020
 [HTML5] <video> - DOM으로 제어하기
3,019
 HTML5 video 태그에서 영상 좌우반전
3,018
 PHP - 특정 태그 및 문자열 추출, 제거
3,017
 [PHP] define과 defined의 차이
3,016
 우클릭 완벽차단 스크립트
3,015
 iframe 높이 100% 맞추기
3,014
 curl 함수를 이용한 HTTP REFERER 변경
3,013
 윈도우10 시스템 파일 및 Dism 검사
3,012
 텍스트 줄바꿈, 글자자르기 CSS
3,011
 jQuery Mobile에서 유용한 코드 10가지.
3,010
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,009
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,008
 [jQuery] jQuery Quick API
3,007
 [ transition ] 링크 hover 색상 변화 속도 조절
3,006
 PHP 5.3.0 에서 사라진 함수들 대체
3,005
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
3,004
 PHP 날짜 형식 및 계산하기(날짜 더하고 빼기)
3,003
 jQuery Mobile에서 유용한 코드 10가지.
3,002
 값이 배열 안에 존재하는지 확인하는 in_array함수
3,001
 사용자가 웹브라우저에서 뒤로가기를 했을때 감지하는 방법
3,000
 [jQuery]버튼 활성화, 비활성화
2,999
 jQuery show() / hide() / toggle() 사용법
2,998
 jquery 여러가지 이벤트
2,997
 border-radius 속성
2,996
 네이버 오픈API 음성합성 API 사용하는 PHP 샘플코드
2,995
 UTF8 한글 자르기..
2,994
 iconv 에러 발생시 계속 처리하기 옵션
2,993
 [PHP] 현재 페이지의 도메인 , URL 정보 알아내기.
2,992
 [PHP] 막강 기능 배열..
목록
추억의가요방(가사포함)
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
세월따라노래따라
가슴시린트로트
트로트쌍쌍파티
7080추억속으로
종합성인가요방
못잊을옛날노래
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
POP TOP BEST

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
가요축제\트롯1번지
댄스\메들리\리믹스
카페\명상\경음악\기타
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.