首页 > 编程 > PHP > 正文

php实现的xml操作类

2020-03-22 20:22:35
字体:
来源:转载
供稿:网友
$test- append_root_node_end();$test- append_root_node('book','name','The"Web"Servers');$test- append_child_node('a u t ho"r','li n a g e');$test- append_child_node('page',100);$test- append_child_node('money','35 RMB');$test- append_root_node_end();$test- display();$test- save();生成的xml结果: xml version="1.0" encoding="utf-8" document book author linage /author page 100 /page money 35 RMB /money /book book name="TheWebServers" author li n a g e /author page 100 /page money 35 RMB /money /book /document html' target='_blank'>class xml{var $version;var $encoding;var $start;var $end;var $filename;var $xml_document;var $root_start;var $root_end;var $rss_start;var $rss_end;function xml($ver='1.0',$encoding='GB2312'){ $this- version=" xml version=/"{$ver}/" encoding=/"{$encoding}/" standalone=/"yes/" $this- rss_start=" rss version=/"2.0/" xmlns:domxml=/"[url]http://xml.666life.com/rss/1.0[/url]/" xmlns:geo=/"[url]http://www.w3.org/2003/01/geo/wgs84_pos#[/url]/" $this- rss_end=" /rss function new_xml($filename){ $this- filename=$filename; return true;function root($element){ $element=$this- filter($element); if(isset($this- start) and isset($this- end)){ exit("error:Only one top level element is allowed in an XML document./r/n"); }else{ $this- start=" $element $this- end=" /$element $this- xml_document=$this- version."/n".$this- rss_start."/n".$this- start."/n"; return true;function append_root_node($title,$property=null,$pro_val=null){ $title=$this- filter($title); $property=$this- filter($property); $pro_val=$this- filter($pro_val); $property!=null $pro_str=" $property=/"$pro_val/"":$property=null; $contents=" {$title}{$pro_str} $this- xml_document.=$contents; $this- root_end=" /$title return true;function append_root_node_end(){ $this- xml_document.=$this- root_end."/n"; return true;function append_child_node($title='undefined',$contents='undefined',$property=null,$pro_val=null,$cddate=false){ isset($property) $pro_str=" $property=/"$pro_val/"":$property=null; $title=$this- filter($title); $contents=$this- filter($contents,false); $property=$this- filter($property); $pro_val=$this- filter($pro_val); $cddate===false $cddate=false:$cddate=true; if($cddate){ $contents=" {$title}{$pro_str} !--[CDATA['/n$contents/n']]-- /$title }else{ $contents=" {$title}{$pro_str} $contents /$title $this- xml_document.=$contents."/n"; return true;function display(){ header("Content-type: text/xml"); $xml=$this- xml_document.$this- end."/n".$this- rss_end; echo $xml; //return true;function filter($sring,$replace_null=true){ $filter[]='"'; $filter[]="//"; $filter[]="/n"; $filter[]="/r"; $filter[]="/t"; $replace_null===true $filter[]=" ":$replace_null=false; foreach ($filter as $val){ $sring=str_replace($val,'',$sring); return $sring;function encode(){ //you can add the convert encode function here or add other class to do thatfunction save(){ $this- xml_document=$this- xml_document.$this- end."/n".$this- rss_end; $handle=fopen($this- filename,'wb+'); $result=fwrite($handle,$this- xml_document); fclose($handle); if($result){ return true; }else{ echo "error:can't write to files,maybe the access denied.try to chmod 777 the directory return false;更多关于PHP操作xml相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》希望本文所述对大家PHP程序设计有所帮助。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表