加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

用 PHP5 轻松解析 XML

发布时间:2020-03-20 07:45:23 所属栏目:PHP教程 来源:互联网
导读:用 PHP5 轻松解析 XML

     public function findNodeByPath($path)
     {
         $pos = strpos($path, '|');
         if($pos<=0)
         {
             return $this->getNode($path);


         }
         else
         {

             $tmpObj = $this->getNode(substr($path, 0,
             $pos));

             return is_object($tmpObj)?
             $tmpObj->findNodeByPath(substr($path,
             $pos+1)):
             null;
         }
     }

     public function getSaveData()
     {
         $data = $this->values;
         if(sizeof($this->attributes)>0)

         $data[attrs] = $this->attributes;
         $nodeList = $this->getNode();


         if($nodeList==null)

         return $data;
         foreach($nodeList as $key=>$node)
         {
             $data[$key] = $node->getSaveData();
         }

         return $data;
     }


     public function getSaveXml($level=0)
     {

         $prefixSpace
         = str_pad("",
         $level, "t");
         $str = "$prefixSpace<$this->nodeTag";

 

         foreach($this->attributes as $key=>$value)
         $str .= " $key="$value"";

         $str .= ">rn";


         foreach($this->values as $key=>$value){

             if(is_array($value))
             {
                 $str .= "$prefixSpacet<$key";

                 foreach($value[attrs] as $attkey=>$attvalue)

                 $str .= " $attkey="$attvalue"";

                 $tmpStr = $value[value];


             }
             else

             {
                 $str .= "$prefixSpacet<$key";

                 $tmpStr = $value;
             }
             $tmpStr = trim(trim($tmpStr, "rn"));

             $str .= ($tmpStr===null || $tmpStr==="")? " />rn": ">$tmpStr</$key>rn";

         }

         foreach($this->getNode() as $node)
         $str .= $node->getSaveXml($level+1)."rn";


         $str .= "$prefixSpace</$this->nodeTag>";

         return $str;
     }

 

     function __destruct()
     {
         unset($this->nodes, $this->attributes, $this->values);

     }

 }
?>

 

文件:SimpleDocumentRoot.php

 

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读