background image

PHP 中 种生成 XML 文件方法的效率比较

  实测结果不出所料,直接写最快,耗时只有其他方式的 1/3 左右. 而其他 2 种方法差不多,
相比之下 SimpleXML 要快一些
PHP 中 3 种生成 XML

 

文件方法的速度比较

有 3 种方法,分别是直接写;使用 DomDocument;使用 SimpleXML;
其实还有第 4 种:使用 XMLWriter,不过我没用过,也懒得试了.
主要是想看看这 3 种方式哪个速度要快些
直接上代码:
 
代码如下:
 

private

 

function

 directWriteXml(&

$data

){

  

$xmltext

='<?xml version="1.0" encoding="UTF-8" ?>';

  

$xmltext

 .='<DocumentData>';

  

$xmltext

 .='<Detail>';

  

$loop

=

count

(

$data

);

  

foreach

 (

$data

 

as

 

$d

){

   

$xmltext

 .=" <Row ID=\" {$d['id']} \"  Name=\" {$d['name']}\" />";

  

}

  

$xmltext

 .='</Detail>';

  

$xmltext

 .='</DocumentData>';

  

return

 

$xmltext

;

 

}

 

private

 

function

 useDomDocument(&

$data

){

  

//  创建一个 XML 文档并设置 XML 版本和编码。。

  

$dom

=

new

 DomDocument('1.0', 'utf-8');

  

//  创建根节点

  

$detail01

 = 

$dom

->createElement('Detail');

  

$dom

->appendchild(

$detail01

);

  

foreach

 (

$data

 

as

 

$d

) {

      

$row

 = 

$dom

->createElement('Row'," ID=\" {$d['id']} \"  Name=\" {$d['name']}\" " );

      

$detail01

->appendchild(

$row

);

  

}

  

return

 

$dom

->saveXML();

 

}

 

private

 

function

 useSimpleXML(&

$data

){

  

//  创建一个 XML 文档并设置 XML 版本和编码。。

  

$string

 = <<<XML

<?xml version='1.0' encoding='utf-8'?>
<detail01>