色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php的XML文件解釋類應用實例

本文實例講述了php的XML文件解釋類及其用法,是非常實用的技巧。分享給大家供大家參考。具體如下:

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   * @return Array   */   private function objectToArray(&$object){          $object = (array)$object;          foreach($object as $key => $value){       if($value==''){         $object[$key] = "";       }else{         if(is_object($value) || is_array($value)){           $this->objectToArray($value);           $object[$key] = $value;         }       }     }   }    /** 輸出返回   * @param boolean $flag true:false   * @param Array  $data 轉換后的數據   * @return Array   */   private function response($flag=false, $data=array()){     return array($flag, $data);   } } ?>

Demo示例程序如下:

<?php require "XMLParser.class.php";  $xmlfile = 'file.xml'; $xmlstring = '<?xml version="1.0" encoding="utf-8"?> <xmlroot> <status>1000</status> <info></info> <result><id>100</id> <name>fdipzone</name> <gender>1</gender> <age>28</age> </result> </xmlroot>'; echo '<pre>'; $xml_parser = new XMLParser(); echo "response xmlfile/r/n"; list($flag, $xmldata) = $xml_parser->loadXmlFile($xmlfile); if($flag){   print_r($xmldata); } echo "response xmlstring/r/n"; list($flag, $xmldata) = $xml_parser->loadXmlString($xmlstring); if($flag){   print_r($xmldata); } echo '</pre>'; ?> 

關于php的XML預定義常量可參考官方文檔:
http://www.php.NET/manual/en/libxml.constants.php

希望本文所述對大家php程序設計的學習有所幫助。

php技術php的XML文件解釋類應用實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 习水县| 蒙阴县| 陆川县| 米易县| 营口市| 景德镇市| 旺苍县| 黄梅县| 武乡县| 福贡县| 玉门市| 宁津县| 凉山| 香河县| 绥宁县| 广昌县| 咸宁市| 平江县| 攀枝花市| 浙江省| 沙河市| 布尔津县| 抚顺市| 白玉县| 松滋市| 邓州市| 黑河市| 南充市| 大厂| 札达县| 阜新市| 安福县| 枝江市| 饶平县| 唐河县| 田东县| 霍邱县| 永年县| 丰原市| 兴仁县| 儋州市|