<?
/**
* 輕量級xml文件生成類(非dom)
* author: q3boy
* version: v0.1 aplha
* update: 2003/9/8
* 支援element/cdata/declare/attribute/comment,可選擇是否包含換行和縮排
*/ class xml
/** 設定元素型別 */
function settypes($type)
/** 設定是否縮排換行 */
function setspace($space)
/** 設定元素屬性 */
function setattrib($name,$value='') else
} /** 新增子元素 */
function &addelement($name='',$value='')
$xml = new xml($name,$value);
$xml->setspace($this->space);
$this->value = &$xml;
return $this->value[sizeof($this->value)-1];
} /** 新增cdata資料 */
function &addcdata($name='',$value='')
$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='')
$xml = new xml($name,$value);
$xml->setspace($this->space);
$xml->settypes('declare');
$this->declare = &$xml;
return $this->declare[sizeof($this->value)-1];
} /** 新增注釋文字 */
function &addcomment($content='')
$xml = new xml($content);
$xml->setspace($this->space);
$xml->settypes('comment');
$this->value = &$xml;
return $this->value[sizeof($this->value)-1];
} /** 返回xml文字流 */
function tostring($itm='',$layer=0)
/* xml宣告 */
for($i=0; $ideclare); $i++)
$out.="?>$br";
} /* 文件樹 */
switch($itm->type)
if(is_array($itm->value))
$out .= $tab.'name.'>'.$br;
}elseif($itm->value!='') else
break;
case 'comment':
$out .= ''.$br;
break;
} return $out;
} /** 生成xml檔案 */
function tofile($file)
/** 實體引用轉換 */
function encode($content,$type='element',$tab1='',$br='') elseif($type=='cdata')
} }
/* example */
/* 物件初始化 */
$xml = new xml('test');
/* 允許輸出換行/縮排 */
$xml->setspace(true);
/* 設定xml宣告 */
$d = &$xml->adddeclare('xml');
$d->setattrib("version","1.0");
/* 設定xml文件樹 */
$xml1 = &$xml->addelement('test1','test1-1');
$xml1->addelement('test2','test2-1');
$x2 = &$xml1->addelement('test3','test2-2');
$x2->setattrib("asd","1&23<>4'"23");
$xml1->addelement('test4','test2-3');
$xml->addelement('test455','taadsfa<><>fdsadest2-3');
$xml->addcomment('adsfadsf');//注釋
/* cdata資料 */
$xml->addcdata('cdname','dflkgmsglsd
f]gl
sdgl
asgl
sf"&ldgsldkfg]]>
sldf
gsdfgsd?fg>ss?d>');
$x1 = &$xml->addelement('test455');
$x1->setattrib("asd",123423);
$xml->setattrib(array("asd"=>123,'sdfgdfg'=>2341));
$xml->setattrib("asd",123423);
/* 輸出檔案 */
$xml->tofile('aaa.xml');
?>
輕量級的web server
web介面是乙個應用系統常用的介面,本文所說的輕量級的web server是指應用系統不以web訪問為主,web介面提供輔助作用,例如,修改配置等,此時,對web server的要求是程式簡單 無或者很輕的併發 能嵌入到應用中最好。linux上nginx的安裝依賴於pcre,這是乙個與perl相容的...
輕量級的 XML ORM
開發中,經常使用xml來作資料庫,涉及到對xml的操作比較頻繁。如果每次都去一步步的寫那些過程,真的是很浪費時間。經過一段時間的總結,我將xml的常用操作封裝成乙個dll,實現了對xml的增刪改查。對一般的xml開發已經夠用了。說是orm其實也有些勉強,不過操作起來還是比較方便的。下面我將演示怎麼利...
對輕量級C 日誌類的增強
對輕量級c 日誌類的增強 這是網上找到的乙個輕量級c 日誌類的實現,主要應用了singleton模式,我增加乙個函式 tmwrite 主要用來進行前面帶時間的行輸出。log.h hujinshan 2004.1.3 airforce engineering university clog clog ...