php实现将数组转换为XML的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php实现将数组转换为XML的方法。分享给大家供大家参考。具体如下:

1. php代码如下:

<?php
class A2Xml {
 private $version = '1.0';
 private $encoding = 'UTF-8';
 private $root  = 'root';
 private $xml  = null;
 function __construct() {
  $this->xml = new XmlWriter();
 }
 function toXml($data, $eIsArray=FALSE) {
  if(!$eIsArray) {
   $this->xml->openMemory();
   $this->xml->startDocument($this->version, $this->encoding);
   $this->xml->startElement($this->root);
  }
  foreach($data as $key => $value){
 
   if(is_array($value)){
    $this->xml->startElement($key);
    $this->toXml($value, TRUE);
    $this->xml->endElement();
    continue;
   }
   $this->xml->writeElement($key, $value);
  }
  if(!$eIsArray) {
   $this->xml->endElement();
   return $this->xml->outputMemory(true);
  }
 }
}
$res = array(
 'hello' => '11212',
 'world' => '232323',
 'array' => array(
  'test' => 'test',
  'b' => array('c'=>'c', 'd'=>'d')
 ),
 'a' => 'haha'
);
$xml = new A2Xml();
echo $xml->toXml($res);

2. 运行效果如下图所示:

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP实现的62进制转10进制,10进制转62进制函数示例

本文实例讲述了PHP实现的62进制转10进制,10进制转62进制函数。分享给大家供大家参考,具体如下: 百度出来的无法使用,只好自己写,有bug的地方欢迎留言,感谢 function...

用PHP实现读取和编写XML DOM代码

复制代码 代码如下: // 用 DOM 读取 XML $doc = new DOMDocument(); $doc->load(‘test.xml'); $books = $doc...

php实现图片上传并利用ImageMagick生成缩略图

使用ImageMagick,您可以轻松,更快地创建缩略图,比使用PHP的容易得多。 <?php // Location to upload main image: $...

PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)

前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的...

PHP使用http_build_query()构造URL字符串的方法

本文实例讲述了PHP使用http_build_query()构造URL字符串的方法。分享给大家供大家参考,具体如下: 简单来说,http_build_query()就是将一个数组转换成u...