程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php類:XML文件分析類

php類:XML文件分析類

編輯:PHP綜合

XMLParser.class.php

<?php  
/** XML 文件分析類 
*   Date:   2013-02-01 
*   Author: fdipzone 
*   Ver:    1.0 
* 
*   func: 
*   loadXmlFile($xmlfile)     讀入xml文件輸出Array 
*   loadXmlString($xmlstring) 讀入xmlstring 輸出Array 
*/
      
class XMLParser{  
      
    /** 讀取xml文件 
    * @param  String  $xmlfile 
    * @return Array 
    */
    public function loadXmlFile($xmlfile){  
      
        // get xmlfile content  
        $xmlstring = file_exists($xmlfile)? file_get_contents($xmlfile) : '';  
      
        // parser xml  
        list($flag, $data) = $this->parser($xmlstring);  
      
        return $this->response($flag, $data);  
      
    }  
      
      
    /** 讀取xmlstring 
    * @param  String $xmlstring 
    * @return Array 
    */
    public function loadXmlString($xmlstring){  
      
        // parser xml  
        list($flag, $data) = $this->parser($xmlstring);  
      
        return $this->response($flag, $data);  
      
    }  
      
      
    /** 解釋xml內容 
    * @param   String $xmlstring 
    * @return  Array 
    */
    private function parser($xmlstring){  
      
        $flag = false;  
        $data = array();  
      
        // check xml format  
        if($this->checkXmlFormat($xmlstring)){  
            $flag = true;  
                  
            // xml to object  
            $data = simpleXML_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA);  
                  
            // object to array  
            $this->objectToArray($data);  
        }  
      
        return array($flag, $data);  
      
    }  
      
      
    /** 檢查xml格式是否正確 
    * @param  String $xmlstring 
    * @return boolean 
    */
    private function checkXmlFormat($xmlstring){  
              
        if($xmlstring==''){  
            return false;  
        }  
      
        $xml_parser_obj = xml_parser_create();  
      
        if(xml_parse_into_struct($xml_parser_obj, $xmlstring, $vals, $indexs)===1){ // 1:success 0:fail  
            return true;  
        }else{  
            return false;  
        }  
      
    }  
      
      
    /** object 轉 Array 
    * @param  object $object 
	* 查看本欄目
		
							
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved