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

这篇文章主要介绍了php实现将数组转换为XML的方法,实例分析了php操作数组及XML格式文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

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

1. php代码如下:

  1. <?php
  2. class A2Xml {
  3. private $version = '1.0';
  4. private $encoding = 'UTF-8';
  5. private $root = 'root';
  6. private $xml = null;
  7. function __construct() {
  8. $this->xml = new XmlWriter();
  9. }
  10. function toXml($data, $eIsArray=FALSE) {
  11. if(!$eIsArray) {
  12. $this->xml->openMemory();
  13. $this->xml->startDocument($this->version, $this->encoding);
  14. $this->xml->startElement($this->root);
  15. }
  16. foreach($data as $key => $value){
  17. if(is_array($value)){
  18. $this->xml->startElement($key);
  19. $this->toXml($value, TRUE);
  20. $this->xml->endElement();
  21. continue;
  22. }
  23. $this->xml->writeElement($key, $value);
  24. }
  25. if(!$eIsArray) {
  26. $this->xml->endElement();
  27. return $this->xml->outputMemory(true);
  28. }
  29. }
  30. }
  31. $res = array(
  32. 'hello' => '11212',
  33. 'world' => '232323',
  34. 'array' => array(
  35. 'test' => 'test',
  36. 'b' => array('c'=>'c', 'd'=>'d')
  37. ),
  38. 'a' => 'haha'
  39. );
  40. $xml = new A2Xml();
  41. echo $xml->toXml($res);