文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php解析xml文档的类

php解析xml文档的类

时间:2008-05-29  来源:剑心通明

一个php用于解析xml文档的类
以下为引用的内容:
/**
*     类名: xmlParser
*     描述: 解析xml文件,返回数组
*     其他: 偶然
*/
class xmlParser
{
var $params = array();  phperz.com
//-----------------------------------------------------------------------------
     /**     BEGIN function
     *
     *     作者:偶然
     *     功能:构造初始化,打开文件并读取
     *     时间:2004.3.26
     *     变量:$file ----------- xml文件路径
     *     返回:none
     *     示例:
     *
     */
     function xmlParser($file) php程序员站
     {
             $fp = @fopen($file, "r");
             if (!$fp) die("不能打开数据源");
             //读取文件
             $this->data = fread($fp, filesize($file));
php程序员之家
             fclose($fp);
             $level = array();
             $xml_parser = xml_parser_create();
             // 将xml文件读入数组
             xml_parse_into_struct($xml_parser, $this->data, $vals, $index);
www.phperz.com
             xml_parser_free($xml_parser);
             foreach ($vals as $xml_elem)
             {
                 // 元素结点展开
                 if ($xml_elem['type'] == 'open') php程序员之家
                 {
                     if (array_key_exists('attributes',$xml_elem))
                     {
                             list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']); www~phperz~com
                     }
                     else
                     {
                             $level[$xml_elem['level']] = $xml_elem['tag'];
                     } php程序员之家
                 }
                 if ($xml_elem['type'] == 'complete')
                 {
                     $start_level = 1;
                     $php_stmt = '$this->params'; www.phperz.com
                     while($start_level ])
                     {
                             $php_stmt .= '[$level['.$start_level.']]';
                             $start_level++;
phperz.com
                     }
                     $php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
                     eval($php_stmt);
                 }
             }
             Return $this->params; php程序员站
     }

.Oml883 { display:none; }
//-----------------------------------------------------------------------------
}
?>
phperz.com

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载