{ 
                 $str .= "$prefixSpace\t<$key";
                 $tmpStr = $value; 
             } 
             $tmpStr = trim(trim($tmpStr, "\r\n"));
$str .= ($tmpStr===null || $tmpStr==="")? " />\r\n": ">$tmpStr</$key>\r\n";
}
         foreach($this->getNode() as $node) 
         $str .= $node->getSaveXml($level+1)."\r\n";
         $str .= "$prefixSpace</$this->nodeTag>";
         return $str; 
     }
     function __destruct() 
     { 
         unset($this->nodes, $this->attributes, $this->values);
}
 } 
?> 
文件:SimpleDocumentRoot.php
<?php 
/** 
 *==============================================
 * 
 * @author     hahawen(大龄青年)  
 * @since      2004-12-04 
 * @copyright  Copyright (c) 2004, NxCoder Group 
 * 
 *==============================================
 */ 
 /** 
 * class SimpleDocumentRoot 
 * xml root class, include values/attributes/subnodes. 
 * all this pachage's is work for xml file, and method is action as DOM. 
 * 
 * @package SmartWeb.common.xml 
 * @version 1.0 
 */
class SimpleDocumentRoot extends SimpleDocumentBase 
{ 
    private $prefixStr = ''; 
    private $nodeLists = array();
    function __construct($nodeTag) 
    { 
        parent::__construct($nodeTag); 
    }
    public function createNodeObject($pNodeId, $name, $attributes) 
    { 
        $seq = sizeof($this->nodeLists); 
        $tmpObject = new SimpleDocumentNode($this, 
        $pNodeId, $name, $seq); 
        $tmpObject->setAttributes($attributes);
        $this->nodeLists[$seq] = $tmpObject; 
        return $tmpObject; 
    }
    public function removeNodeById($id) 
    { 
        if(sizeof($this->nodeLists)==1) 
        $this->nodeLists = array(); 
        else 
        unset($this->nodeLists[$id]); 
    }
    public function getNodeById($id) 
    { 
        return $this->nodeLists[$id]; 
    }
    public function createNode($name, $attributes) 
    { 
        return $this->createNodeByName($this, $name, $attributes, -1); 
    }
    public function removeNode($name) 
    { 
        return $this->removeNodeByName($this, $name); 
    }
    public function getNode($name=null) 
    { 
        return $this->getNodeByName($this, $name); 
    }
    public function getSaveXml() 
    { 
        $prefixSpace = ""; 
        $str = $this->prefixStr."\r\n"; 
        return $str.parent::getSaveXml(0); 
    } 
} 
?>
文件:SimpleDocumentNode.php
<?php
/**
 *===============================================
 *
 * @author     hahawen(大龄青年)  
 * @since      2004-12-04
 * @copyright  Copyright (c) 2004, NxCoder Group
 *
 *===============================================
 */
 /**
 * class SimpleDocumentNode
 * xml Node class, include values/attributes/subnodes.
 * all this pachage's is work for xml file, and method is action as DOM.
 *
 * @package SmartWeb.common.xml
 * @version 1.0
 */
 class SimpleDocumentNode extends SimpleDocumentBase
 {
     private $seq = null;
     private $rootObject = null;
     private $pNodeId = null;
