将xml于关系式数据库一起使用的思路

http://product.jinku.com/

 

服务器数据库与xml相结合

数据库结构

 

顶层分类表 classification

Clas_id(自增,主键)

Clas_name(唯一键)

 

Xml字段结构和模板

<html id="" name="">

<classify>

<node></node>用于存放分类 id ,有多个说明有多个分类使用了它

<node></node>

</classify

<filepath1></filepath1>//后台模板文件路径

<filepath2></filepath2>//前台显示模板文件路径

<structure>

字段结构

</structure>

</html>

 

需要注意的是后台模板和前台显示模板的对应

 

 

数据表data

Data_id(自增,主键)

class_id

Data_title//文章标题

Data_filepath //数据 xml 文件的绝对路径

Data_html_filepath1//后台显示模板

Data_html_filepath2//前台显示模板

 

目录格式

Db/tableStructure/(1).xml    Xml字段结构和模板

Db/data/($classid)/().xml   md5()(题目标题 + 当前时间戳作为文件名称使其唯一)

Html/1/().html            后台模板 md5( 模板标题 ) 作为文件名称

Html/2/().html            前台显示模板 md5( 模板标题 ) 作为文件名称


数据的处理

 

文章管理

   Insert()  

    1. 选择文章分类,选择该分类下选择相应的模板,加载模板,提交后(class_id,html_id)

    2. 服务器处理

 将文章标题、生成的文章数据xml 的路径、 class_id(html_id=>filepath1 filepath2) 插入到服务器数据库

   说明:html_id 是为了关联后台显示模板和前台显示模板

 

    Delect()

1. 根据data_id 得到数据库中的 Data_filepath ,删除数据库中的这条记录

2. 删除Data_filepath 路径指定的 xml 文件

 

    Select_one()

1. 根据data_id 得到数据库中的 Data_filepathfilepath2

2. Data_filepath 路径指定的 xml 文件数据,载入显示模板 filepath2

 

   Select_all() //得到相应分类下的数据 idtitle

1. 根据class_id, 从数据库服务器得到相应的 idtitle

 

   Update()id

1. 根据id 从数据库等到 data_filepath  data_html_filepath1

2. data_filepath 得到数据,加载模板 data_html_filepath1

3. 更改后提交

4. 重写Data_filepath 文件

要局部更改的话会很麻烦

思路:

1. 加载数据Select_oneid ),显示对应的更改基本模板

2. 当某一个输入框的数据改变时,在其value 值追加 _changed 后缀,这样就标示了那些数据时变化的了(这个可以同个 js 脚本实现)

3. 搜索xml 查询更改

分类管理

Insert()

    输入分类名称,插入到数据库,选择合适的模板,将class_id 追加的模板的 <classify> 节点中

 

Delete()

1. 根据class_id 删除数据库数据,删除 xml 文件中模板中对应的 <node></node> 节点

是否级联删除该分类下的文章另说

 

Select()

1.从数据库中读取

 

Update() // 更新分类名称

1. 根据id ,想服务器数据库更新

 

模板管理

编辑模板

1. 模板idxml 中得到 html_path1  html_path2 模板文件路径 和字段数据结构,更改后,可以选择覆盖原来的和生成新的

问题:模板文件和数据xml 文件关联了,若覆盖了那么会影响原来以它为模板发布的文章

 

添加模板

1. 添加字段数据结构

2. 将相相应的两个模板文件读入,生成模板文件,将两个模板模板文件路径 和字段数据结构追加到1.xml

 

    删除模板

    根据id 删除 xml 节点

 

       查看模板

    根据id 显示两个模板文件,和哪几个分类用到了它

 

    显示所有模板的名称list

    遍历xml 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值