php的XML文件解释类应用实例
XMLParser.class.php类文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
/** 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示例程序如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
require "XMLParser.class.php";
$xmlfile = 'file.xml'; $xmlstring = '
'; echo ' '; <p>$xml_parser = new XMLParser(); </p> <p>echo "response xmlfile\r\n"; </p> <p>list($flag, $xmldata) = $xml_parser->loadXmlFile($xmlfile); </p> <p>if($flag){ </p> <p> print_r($xmldata); </p> <p>} </p> <p>echo "response xmlstring\r\n"; </p> <p>list($flag, $xmldata) = $xml_parser->loadXmlString($xmlstring); </p> <p>if($flag){ </p> <p> print_r($xmldata); </p> <p>} </p> <p>echo '</p>'; ?> |

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能