xml 분석 클래스
* All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ ################################ /* Last modify 2003-10-24 10:41:11 XML 분석 클래스 입 니 다.위 는 실 용적 인 예 입 니 다.결 과 는 2 차원 배열 형식$Result[x][xml 태그]=xml 태그 값 입 니 다.http 에서 데 이 터 를 가 져 오지 않 았 습 니 다.다른 클래스 로 데 이 터 를 가 져 가 야 합 니 다. var $ParseHandle=NULL; //해상도 포인터 var $CharSet="utf-8";//부호화 방식 var $Tag=NULL; var $Attrib=array(); var $DataString=NULL; var $XMLData=NULL; var $debug = false; var $ReturnData=array(); var $CurrentTag=NULL; var $OpenTag=array(); var $CloseTag=array(); //var $NeedParseArray=array(); var $NeedParseBlockArray=array(); var $TagSum=0; var $CurrentTagA=NULL; var $TmpData=NULL; #---------------------- function z99ParseXML(){ $this->ParseHandle = xml_parser_create($this->CharSet); if(!$this->ParseHandle){echo"XML 해상도 기 를 만 들 수 없습니다.
"; return false; } }#기능 분석 XML End. /* function SetNeedParse($NeedParse){ $this->NeedParseArray=$NeedParse; }*/ function SetNeedParseBlock($NeedParseBlock){ $this->NeedParseBlockArray=$NeedParseBlock; } function SetXMLdata($XMLdata=NULL){/XML 데이터 설정 if($XMLdata=="){if($this->debug)echo"XML 데이터 가 비어 있 습 니 다.
";exit(); return false; } $this->XMLData=$XMLData; }#Function SetXMLData End. function GetXMLData(){ if($this->XMLData==""){ if($this->debug)echo"XML 데 이 터 를 설정 하지 않 았 습 니 다.
";exit(); return false; } return $this->XMLData; }#Function getXMLData End. function ParseXMLData(){ if($this->debug && !$this->ParseHandle)echo"XML 해상도 기 를 만 들 수 없습니다.
"; //if(!is_array($this->NeedParseArray)&&$this->debug)echo"분석 할 표 시 를 설정 하 십시오.
"; $XMLData = $this->GetXMLData(); $this->XMLData = preg_replace('/<\?xml(.*)?\?'.'>/', '', $XMLData); if($this->XMLdata)="){if($this->debug)echo"XML 데이터 오류.
"; return false; } xml_parser_set_option($this->ParseHandle, XML_OPTION_CASE_FOLDING, false); xml_parser_set_option($this->ParseHandle, XML_OPTION_TARGET_ENCODING, $this->CharSet); xml_set_object($this->ParseHandle, $this); xml_set_element_handler($this->ParseHandle, 'StartTag', 'EndTag'); xml_set_character_data_handler($this->ParseHandle, 'CData'); if (!xml_parse($this->ParseHandle, $this->XMLData)) { if($this->debug) die(sprintf('XML error: %s at line %d', xml_error_string(xml_get_error_code($this->ParseHandle)), xml_get_current_line_number($this->ParseHandle))); return false; } }#함수 해석 XML 데이터 끝. function StartTag($ParseHandle,$Tag,$Attrib){\#해상도 핸들,이름 표시,속성 표시(배열) $this->OpenTag[$Tag]; }#함수 시작 표시 끝. function CData($ParseHandle=NULL,$DataString=NULL){ $this->TmpData=$DataString; }#함수 추출 데이터 끝. function EndTag($ParseHandle,$Tag){ $NeedParse=$this->NeedParseBlockArray; $this->CloseTag[$Tag]; $this->CurrentTag=$Tag; $TmpData=$this->TmpData; $DataLen=strlen(trim($TmpData)); if( $DataLen !=0 ){ $this->ReturnData[$this->TagSum][$Tag]=$TmpData; } if(array_search($Tag,$NeedParse)!==false) $this->TagSum++; }#함수 끝 표시 끝. function Result(){ $aTmp=$this->ReturnData; return $aTmp; } #---------------------- }#Class 분석 XML End.\#==========================================================================
"; echo $aa[0][ErrMSG]."
"; echo $aa[0][ValidErrorInfo]."
"; echo "
"; echo $aa[1][ValidErrorCode]."
"; echo $aa[1][ErrMSG]."
"; echo $aa[1][ValidErrorInfo]."
"; for($i=0;$i<=count($aa)-1;$i++){ //echo $aa[$i][ValidErrorCode]; //echo $aa[$i][ValidErrorInfo]."
"; } #=========================== */ ob_end_flush(); ?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
xml 분석 클래스Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the fo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.