PHP操作XML做数据库的类

<?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 $dbase; //数据库,要读取的XML文件
var $dbname; //数据库名称,顶层元素,与数据库文件名称一致
var $dbtable; //数据表,要取得的节点
var $parser; //剖析器
var $vals; //属性
var $index; //索引
var $dbtable_array;//节点数组
var $array; //下级节点的数组
var $result; //返回的结果
var $querys;

function xml($dbase,$dbtable)
{
$this->dbase=$dbase;
$this->dbname=substr($dbase,strrpos($dbase,"/") 1,-4);
$this->dbtable=$dbtable;
$data=$this->ReadXml($this->dbase);
if(!$data){
die("无法读取 $this->dbname.xml");
}
$this->parser = xml_parser_create();
xml_parser_set_option($this->parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($this->parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($this->parser,$data,$this->vals,$this->index);
xml_parser_free($this->parser);
//遍历索引,筛选出要取值的节点 节点名:$dbtable
foreach ($this->index as $key=>$val) {
if ($key == $this->dbtable) {
//取得节点数组
$this->dbtable_array = $val;
} else {
continue;
}
}
for ($i=0; $i < count($this->dbtable_array); $i =2) {
$offset = $this->dbtable_array[$i] 1;
$len = $this->dbtable_array[$i 1] - $offset;
//array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
//所取节点下级数组
$value=array_slice($this->vals,$offset,$len);
//取得有效数组,合并为结果数组
$this->array[]=$this->parseEFF($value);
}
return true;
}
//将XML文件读入并返回字符串

时间: 2024-09-25 22:52:43

PHP操作XML做数据库的类的相关文章

PHP操作XML作为数据库的类_php技巧

xml.class.php文件代码 复制代码 代码如下: <?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 $dbase

用xml做数据库写学生选课系统

问题描述 用xml做数据库写学生选课系统 老师要求用XML做数据库写学生选课系统,没用过XML做数据库,也不会,一般都是用的SQl,求大神指导,要交作业了..感激不尽!! 解决方案 数据库在本地一样的也是用文件来存储数据,只不过他在性能和实用性上更加出色所以很复杂,你老师让用xml做数据库,意思就是你的数据全部保存在本地xml文件里,只不过你要自己动脑子来设计存储的数据结构:分几个文件.每个文件里结构如何

php中操作xml文档程序代码

 代码如下 复制代码   /* <?xml version="1.0" encoding="UTF-8"?> <班级> <学生 number="101"> <名字>孙悟空</名字> <名字>孙行者</名字> <年龄>猴精猴精</年龄> <介绍></介绍> </学生> <学生 number="

教您使用XML封装数据库操作语句的实现

xml|封装|数据|数据库|语句 在项目开发的过程当中,项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性给项目组带来了越来越多的操作和维护难度. 比如: 从user表中取出所有数据,有的人会写成"select * from user",有的人会写成"select all from user",虽然在操作中不会有任何的错误,但在其他人读程序的过程时就会产生不好的感觉. 如果这种程序差异在项目中的数量级很多,那么在开发的过程当中程序就会出现各种各样的风格,在维

一个通过DataSet操作XML的类(原创)

xml|原创 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手.后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件). 1 基本思路 其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的.如果再配合上.xsd文件的话,那效果更佳. 2 程序详解 (1) XML文件内容

使用XML封装数据库操作语句的实现

xml|封装|数据|数据库|语句 在项目开发的过程当中,项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性给项目组带来了越来越多的操作和维护难度.比如:从user表中取出所有数据,有的人会写成"select * from user",有的人会写成"select all from user",虽然在操作中不会有任何的错误,但在其他人读程序的过程时就会产生不好的感觉.如果这种程序差异在项目中的数量级很多,那么在开发的过程当中程序就会出现各种各样的风格,在维护的过

一个通过DataSet操作XML的类

xml 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手.后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件). 1 基本思路 其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的.如果再配合上.xsd文件的话,那效果更佳. 2 程序详解 (1) XML文件内容 本类操

C# 操作 XML 数据库类型、Oracle XMLType

xml 类型很久就有了一直没有关注,有时间正好看看: 这次学习要做的事情 1.设计一个C# 类来生成 XML Schema (XML 架构) 先设计类,然后由类生成表可能是有很多人蒙昧以求的:正好和 ORM 相反 最主要的 XML 架构可以用来约束数据库中的:XML 的有效性 2.基于上一步的XML Schema我们创建一个数据表.并包含这个和上边 C# 类对应的的 XML 类型: 3.插入一些数据: 4.改变 C# 的类重新生成 Schema在更新数据库中的 Schema 这步假设业务变更看看

请教 自己写的mysqli 操作数据库的类 DB.class.php

问题描述 请教 自己写的mysqli 操作数据库的类 DB.class.php 类是这样写的: <?php class DB{ //属性 private $host; private $port; private $name; private $pass; private $dbname; private $prefix; //设置表前缀 private $charset;//设置字符集 private $mysqli; //设置mysqli类对象 //设置构造函数 public functio