Bacysoft.cn

 找回密码
 邀请注册
查看: 22356|回复: 0
打印 上一主题 下一主题

Discuz!X 中处理 PHP 数组与 XML 互转的类库

[复制链接]
跳转到指定楼层
楼主
发表于 2013-9-10 16:30:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bacy001 于 2013-9-12 23:55 编辑

本类库的使用非法方便,直接 include 或者 require 到你的源码中就可以直接使用了!

类库结构简单,只有两个函数和一个类定义,两个函数分别是:数组转XML 和 XML转数组,类则封装了 PHP 对 XML 相关处理。

本类库来源与 Discuz!X 的源码,也就是说 Discuz!X 中对于 XML 的处理都是使用的本类库,具体的源码分析就不做了,有兴趣的读者可以自行阅读,并欢迎与我交流。

源码文件(需要登录才能下载,或者您可以直接去 Discuz!X 的源文件中搜索名为“class_xml.php”的文件):

下面简单介绍下如何使用本源码进行PHP数组与XML的互相转换。

先看看类库中的两个函数定义:
  1. function xml2array(&$xml, $isnormal = FALSE)

  2. function array2xml($arr, $htmlon = TRUE, $isnormal = FALSE, $level = 1)
复制代码
显然,xml2array 是将 xml 转成 array 的;而 array2xml 是将 array 转成 xml 的!

一、读取XML文件并转化为数组:
  1. $xml = implode('',file("test.xml"));
  2. $arr = xml2array($xml);
复制代码
二、读取数组并转化成XML文件保存:
  1. $xml = array2xml($arr);
  2. file_put_contents("test.xml",$xml);
复制代码
读者可以自行定义一个数组比如:
  1. $arr = array('cn'=>chinese,'en'=>'english');
复制代码
然后使用上面代码转化成 xml 文件后,查看效果。

本类库稳定性相当好,且能支持多维数组,支持中文而不会产生乱码,绝对是您处理 xml 文档的好工具。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?邀请注册

x
您需要登录后才可以回帖 登录 | 邀请注册

本版积分规则



京ICP备08000958号-1|腾讯云|阿里云|联系方式|Bacysoft.cn

GMT+8, 2024-12-27 04:44 , Processed in 0.013975 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表