首页 > php教程 > php手册 > php中实现xml与mysql数据相互转换的方法

php中实现xml与mysql数据相互转换的方法

WBOY
发布: 2016-06-06 20:15:22
原创
867 人浏览过

这篇文章主要介绍了php中实现xml与mysql数据相互转换的方法,实例封装了一个类文件,可实现XML与MySQL数据的相互转换,具有一定的参考借鉴价值,需要的朋友可以参考

本文实例讲述了mysqldata/2013082148567.html">php中实现xml与mysql数据相互转换的方法。分享给大家供大家参考。具体分析如下:

这里提供了一个mysql2xml转换类,可以快速的把xml转换成mysql同时反之也可以把mysql转换成xml,下面看代码.

mysql2xml.php类文件,用于备份MySQL数据的,代码如下:

复制代码 代码如下:

MySQL2XML 类 {
        受保护的$conn;
        受保护的$结果;
        受保护的$表;
        受保护的 $saveFolder = '数据/';
        
        公共函数 __construct($config = NULL) {
                if($config !== NULL && is_array($config)) {
                        $this->connect($config);
                }
        }
        
        公共函数连接($config) {
                $this->conn = mysql_connect($config['主机'], $config['用户名'], $config['密码']);
                if($this->conn) {
                        mysql_select_db($config['数据库']);
                        返回真;
                }
                返回假;
        }
        
        公共函数 setSaveFolder($folder) {
                if(is_dir($folder)) {
                        $this->saveFolder = rtrim(str_replace("", "/", $folder),'/');
                        返回真;
                }
                返回假;
        }
        
        公共函数 setTables($tables) {
                if(is_array($tables)) {
                        $this->tables = $tables;
                        返回真;
                }
                返回假;
        }
        
        公共函数查询($query) {
                if(!isset($query) || trim($query) == '') 返回 false;
                $this->结果 = mysql_query($query);
                if($this->结果) 返回 true;
                返回假;
        }
        
        公共函数 toXML() {
                if(!isset($this->tables)) 返回 false;
                foreach($this->tables as $table) {
                        $file = $this->saveFolder.$table.'.xml';
                        $fp = @fopen($file, 'w');
                        if(!$fp) exit('无法写入文件');
                        fwrite($fp, $this->tableToXML($table));
                        fclose($fp);
                        取消设置($fp);
                }
                返回真;
        }
        
        公共函数 tableToXML($table) {
                标题(“内容类型:文本/ xml;字符集= utf-8”);
                $xml = "n<数据>n";
                $fields = $this->getFields($table);
                $datas = $this->getDatas($table);
                $cdata = 数组();
                foreach($datas as $data) {
                        foreach($data as $key => $value)
                                $cdata[$key][] = $value;
                }
                foreach($fields as $element) {
                        $xml .= "tn";
                        foreach($cdata[$element['Field']] as $value) {
                                $xml .= "tt{$value}n";
                        }
                        $xml .= "t
n";
                }
                $xml .= '数据>';
                返回$xml;
        }
        
        受保护的函数 getFields($table) {
                $query = "显示 {$table} 中的字段";
                $this->查询($query);
                返回 $this->fetchAll();
        }
        
        受保护的函数 getDatas($table) {
                $query = "SELECT * FROM {$table}";
                $this->查询($query);
                返回 $this->fetchAll();
        }
        
        受保护的函数 fetch() {
                if(is_resource($this->结果)) {
                        return mysql_fetch_assoc($this->结果);
                }
                返回假;
        }
        
        受保护的函数 fetchAll() {
                if(is_resource($this->结果)) {
                        $返回=数组();
                        $行=空;
                        while($row = mysql_fetch_assoc($this->结果)) {
                                $返回[] = $行;
                        }
                        返回$返回;
                }
                返回假;
        }
}
?>


调用方法,代码如下:

复制代码代码如下:

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板