Bacysoft.cn
标题:
Discuz!X 中处理 PHP 数组与 XML 互转的类库
[打印本页]
作者:
bacy001
时间:
2013-9-10 16:30
标题:
Discuz!X 中处理 PHP 数组与 XML 互转的类库
本帖最后由 bacy001 于 2013-9-12 23:55 编辑
本类库的使用非法方便,直接 include 或者 require 到你的源码中就可以直接使用了!
类库结构简单,只有两个函数和一个类定义,两个函数分别是:数组转XML 和 XML转数组,类则封装了 PHP 对 XML 相关处理。
本类库来源与 Discuz!X 的源码,也就是说 Discuz!X 中对于 XML 的处理都是使用的本类库,具体的源码分析就不做了,有兴趣的读者可以自行阅读,并欢迎与我交流。
源码文件(需要登录才能下载,或者您可以直接去 Discuz!X 的源文件中搜索名为“class_xml.php”的文件):[attach]1[/attach]
下面简单介绍下如何使用本源码进行PHP数组与XML的互相转换。
先看看类库中的两个函数定义:
function xml2array(&$xml, $isnormal = FALSE)
function array2xml($arr, $htmlon = TRUE, $isnormal = FALSE, $level = 1)
复制代码
显然,xml2array 是将 xml 转成 array 的;而 array2xml 是将 array 转成 xml 的!
一、读取XML文件并转化为数组:
$xml = implode('',file("test.xml"));
$arr = xml2array($xml);
复制代码
二、读取数组并转化成XML文件保存:
$xml = array2xml($arr);
file_put_contents("test.xml",$xml);
复制代码
读者可以自行定义一个数组比如:
$arr = array('cn'=>chinese,'en'=>'english');
复制代码
然后使用上面代码转化成 xml 文件后,查看效果。
本类库稳定性相当好,且能支持多维数组,支持中文而不会产生乱码,绝对是您处理 xml 文档的好工具。
欢迎光临 Bacysoft.cn (http://www.ec7ts.cfan.cc/)
Powered by Discuz! X3.3