XML文档动态数据处理研究

2014-07-02 00:26侯春英
无线互联科技 2014年1期
关键词:表单

侯春英

摘 要:XML作为存储数据的首选手段,已经逐步达到取代一些数据库的功能而且使用起来远比数据库方便得多,本文从实用角度出发介绍了XML文档的建立、编辑及检索方式的实现。

关键词:XML;SGML;表单

XML作为存储数据的首选方式,已经逐步达到取代一些数据库的功能而且使用起来远比数据库方便得多,它不需要任何其它的数据库环境配置和数据库连接设置,便可以方便地实现数据库的功能并实现动态网页的设计工作。

XML文档是一种纯文本文档,可以用你喜欢的任意一种编辑器来创建它。但是在很多情况下,XML文档不应由设计者事先设计好来固定使用,而应在程序运行过程中由交互方式产生数据并动态建立相应的XML文档。本文将介绍一种动态XML文档建立和编辑方法及利用XSL样式表来检索显示XML文档的方法及实现过程。

1 创建并编辑一个XML文档的宏观描述

⑴通过交互方式(表单)将用户所要建立的XML元素存储在计算机内;

⑵用ASP程序进行处理,其主要处理过程可包含以下几个方面:1)创建DOM实例,并加载所要使用的XML文档;2)判断所要使用的XML文档是否存在,若不存在,则要先创建XML文档的声明部分和根元素;3)按用户在表单中所输入的各项在XML文档中建立相应的子元素;4)将所处理的数据保存。

2 文档动态处理过程示例

⑴newdata.htm文件的内容(主运行文件):

姓 名:

性 别: 男 ; ;

文化程度:

喜爱颜色: 红色 ;

绿色

蓝色 ;

黄色

学习目标:

登录口令:

⑵newxml.asp文件的内容为:

<%

Function NewtoXML(FileName)

Dim objDom

Dim objRoot

Dim objRecord

Dim objField

Dim objPI1

dim objPI2

Dim blnFileExists

Set objDom=server.CreateObject("Microsoft.XMLDOM")

objDom.preserveWhiteSpace=True

blnFileExists=objDom.Load(FileName)

If blnFileExists=True Then

Set objRoot=objDom.documentElement

Else

Set objRoot=objDom.createElement("学生资料表")

objDom.appendChild objRoot

End If

Set objRecord=objDom.createElement("个人资料")

objRoot.appendChild objRecord

For x=1 To Request.Form.Count

If instr(1,Request.Form.Key(x),"btn")=0 Then

Set objField=objDom.createElement(Request.Form.Key(x))

objField.Text=Request.Form(x)

objRecord.appendChild objField

End If

Next

If blnFileExists=False then

Set objPI1=objDom.createProcessingInstruction("xml","version='1.0' encoding='gb2312'")

set objPI2=objDom.createProcessingInstruction("xml:stylesheet", "type='text/xsl' href='userdata.xsl'")

objDom.insertBefore objPI1, objDom.childNodes(0)

objDom.insertBefore objPI2, objDom.childNodes(1)

End If

objDom.save FileName

End Function

On Error Resume Next

NewtoXML server.MapPath("Userdata.xml")

If err.number<>0 then

Response.write("")

End If

%>

说明:本程序已在IE浏览器上运行通过。代码中所调用的userdata.xml文件不用单独建立,程序在运行过程中会自动建立此文件。

[参考文献]

[1]范春梅.XML基础教程.人民邮电出版社,2009.

[2]孙更新,肖冰,彭玉忠.XML编程与应用教程.清华大学出版社,2009.

猜你喜欢
表单
电子表单系统应用分析
浅谈网页制作中表单的教学
基于ASP.NET的Web表单自动生成引擎
动态表单技术在教学管理中的应用*
基于Java可视化测绘生产流程表单的设计及实现
基于Struts的Web系统表单重复提交问题的解决方案*