| 
<?php
/**
 * A Simple XML Make Class(SXMC)
 * Version:0.3 Beta
 * Author :Lazy
 * E-mail :o0lazy0o at gmail dot com
 * Welcome To http://www.52radio.net/
 * Copyright:None.
 */
 Class XML{
 var $Content="";
 var $RootNode="";
 var $ParentNode="";
 var $CRLF="\r\n";
 var $End="";
 
 Function XML($Version="1.0",$Encoding="utf-8"){
 $this->Content.="<?xml version=\"{$Version}\" encoding=\"{$Encoding}\"?>{$this->CRLF}";
 }
 
 Function CreateNode($NodeName="root",$Attribute=""){
 $NodeName=$this->Filter($NodeName);
 $this->RootNode=$NodeName;
 $Attribute=$this->ParseAttribute($Attribute);
 return $this->Content.="<{$NodeName}{$Attribute}>{$this->CRLF}";
 }
 
 Function AppendNode($NodeName,$Attribute,$Data="",$CDate=true){
 $NodeName=$this->Filter($NodeName);
 if(empty($Data)){
 if(!empty($this->ParentNode)){
 $this->Content.="</{$this->ParentNode}>{$this->CRLF}";
 }
 $this->ParentNode=$NodeName;
 $Attribute=$this->ParseAttribute($Attribute);
 return $this->Content.="<{$NodeName}{$Attribute}>{$this->CRLF}";
 }else{
 $Attribute=$this->ParseAttribute($Attribute);
 return $this->Content.=$CDate?"<{$NodeName}{$Attribute}>{$this->CRLF}<![CDATA[{$Data}]]>{$this->CRLF}</{$NodeName}>{$this->CRLF}":"<{$NodeName}{$Attribute}>{$Data}</{$NodeName}>{$this->CRLF}";
 }
 }
 
 Function End(){
 if($this->End){
 return $this->Content;
 }else{
 $this->End=true;
 return $this->Content=$this->ParentNode==""?$this->Content."</{$this->RootNode}>":$this->Content."</{$this->ParentNode}>{$this->CRLF}</{$this->RootNode}>";
 }
 }
 
 Function Display(){
 ob_start();
 header("Content-type: text/xml");
 echo $this->End();
 ob_end_flush();
 }
 
 Function Save($Filename){
 if(!$Handle=fopen($Filename,'wb+')){
 $this->Error("Couldn't Write File,Make Sure Your Access");
 }
 flock($Handle,LOCK_EX);
 fwrite($Handle,$this->End());
 return fclose($Handle);
 }
 
 Function Error($ErrorStr='',$ErrorNo='',$Stop=true){
 exit($ErrorStr);
 }
 
 Function ParseAttribute($Argv){
 $Attribute='';
 if(is_array($Argv)){
 foreach($Argv as $Key=>$Value){
 $Value=$this->Filter($Value);
 $Attribute.=" $Key=\"$Value\"";
 }
 }
 return $Attribute;
 }
 
 Function Filter($Argv){
 $Argv=trim($Argv);
 $Search=array("<",">","\"");
 $Replace=array("","","'");
 return str_replace($Search,$Replace,$Argv);
 }
 }
 ?>
 |