时时商务社区
标题:
php的XML文件解释类应用实例
[打印本页]
作者:
网络通达
时间:
2018-2-14 05:54
本文实例讲述了php的XML文件解释类及其用法,是非常实用的技巧。分享给大家供大家参考。具体如下:
XMLParser.class.php类文件如下:
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示例程序如下:
1000
100
fdipzone
1
28
';
echo '';
$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 '';
?>
关于PHP的XML预定义常量可参考官方文档:
http://www.php.net/manual/en/libxml.constants.php
希望本文所述对大家PHP程序设计的学习有所帮助。
您可能感兴趣的文章:
使用PHP DOM-XML创建和解析XML文件
生成ubuntu自动切换壁纸xml文件的php代码
php XPath对XML文件查找及修改实现代码
php中使用DOM类读取XML文件的实现代码
PHP中的生成XML文件的4种方法分享
PHP中3种生成XML文件方法的速度效率比较
php获取本地图片文件并生成xml文件输出具体思路
PHP中使用SimpleXML检查XML文件结构实例
php使用simplexml_load_file加载XML文件并显示XML的方法
php添加数据到xml文件的简单例子
PHP简单读取xml文件的方法示例
php对xml文件的增删改查操作实现方法分析
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2