php的XML文件解释类应用实例
网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了php的XML文件解释类及其应用实例,包括针对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:suess 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://.php./manual/en/libxml.constants.php
希望本文所述对大家PHP程序设计的学习有所帮助。
上一篇:php实现的CSS更新类实例
下一篇:php实现的返回数据格式化类实例
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程