• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP中3种生成XML文件方法的速度效率比较_php技巧

php 搞代码 4年前 (2022-01-26) 14次浏览 已收录 0个评论

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

private function directWriteXml(&$data){<BR>  $xmltext='<?xml version="1.0" encoding="UTF-8" ?>';<BR>  $xmltext .='';<BR>  $xmltext .='';<BR>  $loop=count($data);<BR>  foreach ($data as $d){<BR>   $xmltext .=" ";<BR>  }<BR>  $xmltext .='';<BR>  $xmltext .='';<BR>  return $xmltext;<BR> }<BR> private function useDomDocument(&$data){<BR>  //  创建一个XML文档并设置XML版本和编码。。<BR>  $dom=new DomDocument('1.0', 'utf-8');<BR>  //  创建根节点<BR>  $detail01 = $dom->createElement('Detail');<BR>  $dom->appendchild($detail01);<BR>  foreach ($data as $d) {<BR>      $row = $dom->createElement('Row'," ID=\" {$d['id']} \"  Name=\" {$d['name']}\" " );<BR>      $detail01->appendchild($row);<BR>  }<BR>  return $dom->saveXML();<BR> }<BR> private function useSimpleXML(&$data){<BR>  //  创建一个XML文档并设置XML版本和编码。。<BR>  $string = <<<XML<BR><?xml version='1.0' encoding='utf-8'?><BR><BR><BR>XML;<BR>  $xml = simplexml_load_string($string);<BR>  foreach ($data as $d) {<BR>      $xml->addChild('Row'," ID=\" {$d['id']} \"  Name=\" {$d['name']}\" " );<BR>  }<BR>  return $xml->asXML(); ;<BR> }<BR>


调用时每个都加上大数循环操作,并记录时间

 $loop=10000;<BR>  $xml='';<BR>  switch($_GET['id']){<BR>   case 1:<BR>     $ts=$this->microtime_float();<BR>     for( $i=0; $i<$loop; $i++)<BR>      $xml=$this->directWriteXml($depdata);<BR>     $te=$this->microtime_float();<BR>     $t=$te-$ts;<BR>     $this->assign('times',$t);<BR>     $this->assign('method','直接写');<BR>     break;<BR>   case 2:<BR>     $ts=$this->microtime_float();<BR>     for( $i=0; $i<$loop; $i++)<BR>      $xml=$this->useDomDocument($depdata);<BR>     $te=$this->microtime_float();<BR>     $t=$te-$ts;<BR>     $this->assign('times',$t);<BR>     $this->assign('method','DomDocument');<BR>     break;<BR>   case 3:<BR>     $ts=$this->micro<strong style="color:transparent">本&文来源gao@daima#com搞(%代@#码网@</strong><textarea>搞gaodaima代码</textarea>time_float();<BR>     for( $i=0; $i<$loop; $i++)<BR>      $xml=$this->useSimpleXML($depdata);<BR>     $te=$this->microtime_float();<BR>     $t=$te-$ts;<BR>     $this->assign('times',$t);<BR>     $this->assign('method','SimpleXML');<BR>     break;<BR>  }<BR>  echo $xml;<BR>


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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP中3种生成XML文件方法的速度效率比较_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址