欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > PHP > PHP把数据库读出内容转换成XML格式

PHP把数据库读出内容转换成XML格式

2018-06-20 523 收藏 0 赞一个 0 真差劲 0 去评论

PHP将数据库中的内容格式转换成XML格式,本代码是一个PHP类代码,用于完成此项功能,类中要调用db.php数据库操作文件,现在暂时找不到这个文件,不过懂的可修改成自己的,类中的代码也要相应修改,其它本类更重要的是对XML处理的部分,是值得参考的:

<?php
class XML_sql2xml{
    var $nested = True;
    var $tagNameResult = "result";
    var $tagNameRow = "row";
    var $db = Null;
    var $user_options = array();
    var $xmldoc;
    var $xmlroot;
    var $user_tableInfo = array();
    var $encoding_from  = "ISO-8859-1";
    var $encoding_to = "gb2312";
    var $tagname = "tagname";
    function XML_sql2xml ($dsn = Null, $root = "root") {
        if (is_string($dsn))
        {
            include_once ("DB.php");
            $this->db = DB::Connect($dsn);
            if (DB::isError($this->db))
            {
                print "The given dsn for XML_sql2xml was not valid in file ".__FILE__." at line ".__LINE__."<br>\n";
                return new DB_Error($this->db->code,PEAR_ERROR_DIE);
            }
        }
        elseif (is_object($dsn) && DB::isError($dsn))
        {
            print "The given param for XML_sql2xml was not valid in file ".__FILE__." at line ".__LINE__."<br>\n";
            return new DB_Error($dsn->code,PEAR_ERROR_DIE);
        }
        elseif (get_parent_class($dsn) == "db_common")
        {
            $this->db = $dsn;
        }
        $this->xmldoc = domxml_new_xmldoc('1.0');
        $this->xmldoc->encoding = $this->encoding_to;
        if ($root) {
            $this->xmlroot = $this->xmldoc->add_root($root);
            if (!isset($this->xmlroot->{$this->tagname}))
            {
                $this->tagname = "name";
            }
        }
    }
    function add ($resultset, $params = Null)
    {
        if (is_string($resultset)) {
            if (preg_match("/\.xml$/",$resultset)) {
                $this->AddXmlFile($resultset,$params);
            }
            elseif (preg_match("/.*select.*from.*/i" ,  $resultset)) {
                $this->AddSql($resultset);
            }
            else {
                $this->AddXmlString($resultset);
            }
        }
        elseif (is_array($resultset)) {
            $this->AddArray($resultset);
        }
        if (get_class($resultset) == "db_result") {
            $this->AddResult($resultset);
        }
    }
    function addXmlFile($file,$xpath = Null)
    {
        $fd = fopen( $file, "r" );
        $content = fread( $fd, filesize( $file ) );
        fclose( $fd );
        $this->doXmlString2Xml($content,$xpath);
    }
}


一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论