PHP操作XML做数据库的类_PHP教程

WBOY
發布: 2016-07-13 16:58:25
原創
802 人瀏覽過


* example 读取数据:
*
* $xml = new xml("dbase.xml",'table');
*
* $data=$xml->xml_fetch_array();
*
* echo "

";<br>
*<br>
* print_r($data);<br>
*<br>
<br>
class xml<br>
{<br>
var $dbase; //数据库,要读取的XML文件<br>
var $dbname; //数据库名称,顶层元素,与数据库文件名称一致<br>
var $dbtable; //数据表,要取得的节点<br>
var $parser; //剖析器<br>
var $vals; //属性<br>
var $index; //索引<br>
var $dbtable_array;//节点数组<br>
var $array; //下级节点的数组<br>
var $result; //返回的结果<br>
var $querys;<br>
<br>
function xml($dbase,$dbtable)<br>
{<br>
$this->dbase=$dbase;<br>
$this->dbname=substr($dbase,strrpos($dbase,"/") 1,-4);<br>
$this->dbtable=$dbtable;<br>
$data=$this->ReadXml($this->dbase);<br>
if(!$data){<br>
die("无法读取 $this->dbname.xml");<br>
}<br>
$this->parser = xml_parser_create();<br>
xml_parser_set_option($this->parser,XML_OPTION_CASE_FOLDING,0);<br>
xml_parser_set_option($this->parser,XML_OPTION_SKIP_WHITE,1);<br>
xml_parse_into_struct($this->parser,$data,$this->vals,$this->index);<br>
xml_parser_free($this->parser);<br>
//遍历索引,筛选出要取值的节点 节点名:$dbtable<br>
foreach ($this->index as $key=>$val) {<br>
if ($key == $this->dbtable) {<br>
//取得节点数组<br>
$this->dbtable_array = $val;<br>
} else {<br>
continue;<br>
}<br>
}<br>
for ($i=0; $i dbtable_array); $i =2) {<br>
$offset = $this->dbtable_array[$i] 1; <br>
$len = $this->dbtable_array[$i 1] - $offset;<br>
//array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。<br>
//所取节点下级数组<br>
$value=array_slice($this->vals,$offset,$len);<br>
//取得有效数组,合并为结果数组<br>
$this->array[]=$this->parseEFF($value);<br>
}<br>
return true;<br>
}<br>
//将XML文件读入并返回字符串
<p align="left"></p><div style="display:none;">
<span id="url" itemprop="url">http://www.bkjia.com/PHPjc/631415.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/631415.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">?php * example 读取数据: * * $xml = new xml(dbase.xml,'table'); * * $data=$xml-xml_fetch_array(); * * echo pre style=font-size:12px;; * * print_r($data); * class xml { var $d...</span>
</div>
<div class="art_confoot"></div>
登入後複製
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板