scaoping 发表于 2018-12-20 10:08:57

根据PHP数组生成XML的类

本类库用来直接由PHP数组生成XML文件。  演示:http://www.cn09.com/media/demo/testXML.php
  本帖为简单(www.cn09.com)原创,转载请保留链接,使用本类库时请遵循LGPL协议
  类库代码:MakeXML.php:

[*]$nodeParam){
[*]                if(!is_array($nodeParam)){
[*]                  //如果不是一个下级元素,那就是元素的参数
[*]                  $XMLString.=$paramKey.'="'.$nodeParam.'" ';
[*]                }else{
[*]                  if(!$haveRightBracket){
[*]                        $XMLString.='>';
[*]                        $haveRightBracket=TRUE;
[*]                  }
[*]                  //如果是下级元素,则追加元素
[*]                  $XMLString.=$this->make($nodeParam);
[*]                }
[*]            }
[*]      }
[*]      if(!$haveRightBracket){
[*]            $XMLString.='>';
[*]            $haveRightBracket=TRUE;
[*]      }
[*]      $XMLString.='';//该元素处理结束
[*]      return $XMLString;
[*]    }
[*]
[*]    /**
[*]   * 将字串保存到文件
[*]   * @param $fileName 文件名
[*]   * @param $XMLString 已经生成的XML字串
[*]   */
[*]    public function saveToFile($fileName,$XMLString)
[*]    {
[*]      if(!$handle=fopen($fileName,'w'))
[*]      {
[*]            return FALSE;
[*]      }
[*]      if(!fwrite($handle,$XMLString))
[*]      {
[*]            return FALSE;
[*]      }
[*]      return TRUE;
[*]    }
[*]
[*]    /**
[*]   * 直接通过数组生成XML文件
[*]   */
[*]    public function write($fileName,$array,$xslName=''){
[*]      $XMLString=$this->getXML($array,$xslName);
[*]      $result=$this->saveToFile($fileName,$XMLString);
[*]      return $result;
[*]    }
[*]}
复制代码测试代码testXML.php:
[*]

页: [1]
查看完整版本: 根据PHP数组生成XML的类