轻量级的xml文档生成类
PHP代码:-------------------------------------------------------------------------------- <? /** * 轻量级XML文档生成类(非dom) * author: q3boy <q3boy@sina.com> * version: v0.1 aplha * update: 2003/9/8 * 支持Element/CDATA/Declare/attribute/Comment,可选择是否包含换行和缩进 */ class xml { /** 元素名 */ var $name; /** 元素值 */ var $value; /** 元素类型 */ var $type; /** 元素属性 */ var $attrib; /** XML声明 */ var $declare; /** 是否缩进换行 */ var $space; /** 构造函数 */ function xml($name='''',$value='''') { $this->name = $name; $this->value = $value; $this->declare = array(); $this->setTypes(''Element''); $this->setAttrib(array()); $this->setSpace(false); } /** 设置元素类型 */ function setTypes($type) { $this->type = $type; } /** 设置是否缩进换行 */ function setSpace($space) { $this->space = $space; } /** 设置元素属性 */ function setAttrib($name,$value='''') { if(is_array($name)) { $this->attrib = array_merge($this->attrib,$name); }else { $this->attrib[$name] = $value; } } /** 添加子元素 */ function &addElement($name='''',$value='''') { if(!is_array($this->value)) { $this->value = array(); } $xml = new xml($name,$value); $xml->setSpace($this->space); $this->value[] = &$xml; return $this->value[sizeof($this->value)-1]; } /** 添加CDATA数据 */ function &addCDATA($name='''',$value='''') { if(!is_array($this->value)) { $this->value = array(); } $xml = new xml($name,$value); $xml->setSpace($this->space); $xml->setTypes(''CDATA''); $this->value[] = &$xml; return $this->value[sizeof($this->value)-1]; } /** 添加XML声明 */ function &addDeclare($name='''',$value='''') { if(!is_array($this->declare)) { $this->value = array(); } |
查看所有评论
