首页 > 编程 > PHP > 正文

关于php XML文件解释类的讲解

2020-03-22 16:49:35
字体:
来源:转载
供稿:网友
* loadXmlFile($xmlfile) 读入xml文件输出Array* loadXmlString($xmlstring) 读入xmlstring 输出Arrayhtml' target='_blank'>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:

 ?phprequire 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文件解释类,更多相关内容请关注php 。

相关推荐:

php CSS Update Class的相关内容讲解

关于php __call 与 __callStatic 的内容讲解

关于memcached 常用命令及使用说明

以上就是关于php XML文件解释类的讲解的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表