Discuz教程网

[插件制作] Discuz!X如何处理将PHP数组与XML相互转换

[复制链接]
authicon dly 发表于 2013-12-12 16:01:14 | 显示全部楼层 |阅读模式
本类库的使用非法方便,直接 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 文档的好工具。



上一篇:Discuz!X 插件开发后台常用函数 showsetting 实例之 select 篇
下一篇:Discuz!X插件开发之ajaxget()函数解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-1 23:41

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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