php的XML文件解釋類(lèi)應(yīng)用實(shí)例
本文實(shí)例講述了php的XML文件解釋類(lèi)及其用法,是非常實(shí)用的技巧。分享給大家供大家參考。具體如下:
XMLParser.class.php類(lèi)文件如下:
<?php /** XML 文件分析類(lèi) * 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內(nèi)容 * @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 轉(zhuǎn) 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 轉(zhuǎn)換后的數(shù)據(jù) * @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>'; ?>
關(guān)于PHP的XML預(yù)定義常量可參考官方文檔:
http://www.php.net/manual/en/libxml.constants.php
希望本文所述對(duì)大家PHP程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
- PHP簡(jiǎn)單讀取xml文件的方法示例
- php添加數(shù)據(jù)到xml文件的簡(jiǎn)單例子
- php使用simplexml_load_file加載XML文件并顯示XML的方法
- PHP中使用SimpleXML檢查XML文件結(jié)構(gòu)實(shí)例
- php獲取本地圖片文件并生成xml文件輸出具體思路
- PHP中3種生成XML文件方法的速度效率比較
- PHP中的生成XML文件的4種方法分享
- php中使用DOM類(lèi)讀取XML文件的實(shí)現(xiàn)代碼
- php XPath對(duì)XML文件查找及修改實(shí)現(xiàn)代碼
- 生成ubuntu自動(dòng)切換壁紙xml文件的php代碼
- 使用PHP DOM-XML創(chuàng)建和解析XML文件
- php對(duì)xml文件的增刪改查操作實(shí)現(xiàn)方法分析
相關(guān)文章
php常用數(shù)組array函數(shù)實(shí)例總結(jié)【賦值,拆分,合并,計(jì)算,添加,刪除,查詢(xún),判斷,排序】
這篇文章主要介紹了php常用數(shù)組array函數(shù),結(jié)合實(shí)例形式總結(jié)分析了php常用的數(shù)組操作函數(shù),包括數(shù)組的賦值、拆分、合并、計(jì)算、添加、刪除、查詢(xún)、判斷、排序等,需要的朋友可以參考下2016-12-12linux php mysql數(shù)據(jù)庫(kù)備份實(shí)現(xiàn)代碼
想在PHP后臺(tái)管理直接能夠備份數(shù)據(jù)庫(kù),于是想呀想,一直沒(méi)有什么思路,一開(kāi)始是考慮用php來(lái)訪(fǎng)問(wèn)服務(wù)器安裝mysql的目錄,比如 /usr/local/mysql/data目錄,直接把下面對(duì)應(yīng)的文件進(jìn)行備份2009-03-03PHP實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建XML文檔的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建XML文檔的方法,結(jié)合實(shí)例形式分析了php針對(duì)xml格式數(shù)據(jù)的構(gòu)建及文件讀寫(xiě)相關(guān)操作技巧,需要的朋友可以參考下2018-03-03php數(shù)據(jù)流中第K大元素的計(jì)算方法及代碼分析
在本篇文章里小編給大家整理了一篇關(guān)于php數(shù)據(jù)流中第K大元素的計(jì)算方法及代碼分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-07-07PHP的Socket網(wǎng)絡(luò)編程入門(mén)指引
這篇文章主要介紹了PHP的Socket網(wǎng)絡(luò)編程入門(mén)指引,是PHP入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08php正則表達(dá)式基本知識(shí)與應(yīng)用詳解【經(jīng)典教程】
這篇文章主要介紹了php正則表達(dá)式基本知識(shí)與應(yīng)用,詳細(xì)講述了php正則表達(dá)式的基本概念、知識(shí)點(diǎn)并結(jié)合實(shí)例形式分析了php正則表達(dá)式的使用技巧,需要的朋友可以參考下2017-04-04