动态产生XML文档的几种方式

xml|动态

当今世界,技术发展迅猛,不论是什么行业,大多数关键数据都是放置于数据库中进行管理的,一来目前数据库技术已经相当成熟,二来其管理功能非常强大。以往的数据库应用,其数据底层结构一般来说都是相对固定,也就是说,开发出来的应用程序是针对具体的数据结构,其应用范畴受到一定限制,开放性较差。

XML作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提,因此具备很强的开放性,具有广阔的应用前景。为了使基于XML的业务数据交换成为可能,就必须实现数据库的XML数据存取,并且将XML数据同应用程序集成,进而使之同现有的业务规则相结合。开发基于XML的动态应用,如动态信息发布、动态数据交换等,就是要能从数据库中取出数据,并动态产生XML文档。当前动态产生XML文档主要有以下几种方式:

由数据库直接产生 在这一方面,Oracle和Microsoft走在其他厂商的前面。Oracle做为全球第一大数据库及数据库应用解决方案提供厂商,早在1999年就率先推出支持XML的数据库产品Oracle 8i。Microsoft在2000年1月宣称其下一版本SQL Server(代号为Shiloh),将是一个完全支持XML的产品,利用该产品,用户可以在Web浏览器下输入一个URL地址,即可访问SQL Server数据库,而返回的结果可以是一个XML文档。另外,它还允许通过输入样式参数,指定样式信息,以便在浏览器中输出丰富的页面。一个典型的URL如下所示:href = http: // localhost / Northwind ? sql = select + firstname,lastname + from + employees + for + xml + auto。

由Web中间件产生 当Web服务器收到请求,就由中间件进行数据库查询,然后将查询结果转化为XML格式。现在有一些工具提供了XML与数据库的连接过程大都遵循这样的步骤。下面是一个利用ASP直接生成XML文档的例子。

<%@ language="VBScript" %>

<?xml version="1.0" encoding="gb2312"?>

<?xml:stylesheet type="text/xsl" href="roster.xsl"?>

<roster>

————下面连接数据库————

<%

set cConn = Server.CreateObject("ADODB.Connection")

call cConn.Open("DSN","USER", "PWD")

set rs = cConn.Execute("SELECT DISTINCT * FROM roster")

Do While Not rs.EOF %>

————下面产生XML————

<Record>

<Name><%=trim(rs("name"))%></Name>

<NativePlace><%=trim(rs("NativePlace"))%></NativePlace>

<Age><%=trim(rs("Age"))%></Age>

<Telephone><%=trim(rs("Telephone"))%></Telephone>

</Record>

<% rs.MoveNext

Loop

rs.Close

set rs=nothing

set cConn=nothing

%>

</roster>

这种方式已经在大富翁论坛(http://www.delphibbs.com)上得到了应用,大富翁论坛也制作了离线浏览器,其实质就是用ASP查询返回的XML数据文档在应用程序中进行处理。

由其他应用程序产生 正是XML自描述性使其非常适用于不同应用间的数据交换,基于XML数据交换的系统之间交换数据就是一个产生、传输和处理XML文档的过程,因此许多编程工具已经发布了支持XML的新版本,在Delphi 6中已经推出支持XML数据交换的一系列控件,开发数据交换应用程序已经不再是以前大家可望不可及的事了,当然这都归功于XML的出现。

从整体上讲,XML定义了应用间传递数据的结构,而且这种结构的描述不是基于二进制的、只能由程序去判读的代码,而是一种简单的、能够用任何编辑器读取的文本。利用这种机制,程序员可以制定底层数据交换的规范,然后在此基础上开发整个系统的各个模块,而各模块之间传输的数据将是规范的符合既定规则的数据。另外,XML还允许为特定的应用制定特殊的数据格式,并且非常适合于在服务器与服务器之间传送结构化数据。总之,在不久的将来XML必将成为互联网中一颗璀璨的明星。

时间: 2024-09-28 22:27:04

动态产生XML文档的几种方式的相关文章

html-联机帮助文档用哪种方式编写比较好

问题描述 联机帮助文档用哪种方式编写比较好 有两种思路:(1)使用Qt的"The Qt Help Framework"来完成.(2)使用一个html撰写器,将帮助文档保存在一个html文档中,用当前软件中的浏览器直接打开该html文档.请问这两种思路,哪种方案比较好一点? 解决方案 使用html的好处是,用户可以不执行你的程序也可以浏览帮助文件,甚至你可以将帮助信息放在网站上,这更符合现在的潮流.

VC++中利用MSXML解析XML文档

c++|xml 四.程序实现 下面通过一个具体的实例来说明在VC++中如何利用MSXML解析XML文档. (1)源XML文档(xmlfile.xml)如下: <?xml version="1.0" encoding="GB2312"?> <Device id="10041" name="设备1"> <Type>13</Type> <TypeName>保护</Ty

灵活调用xsl来解析xml文档(js异步)

js|xml|异步     1.新建一个vs2003的web工程,取名为XMLTest      2.将工程目录下的WebForm1.aspx中内容全部删除,只留下顶部的一条语句:      <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XMLTest.WebForm1" %> 3.修改W

Java编程中更新XML文档的常用方法

xml|编程 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Laye

如何在delphi中使用xml文档

在delphi中使用xml文档有两种方法,一是使用delphi 内置的xml broker:一是使用msxml.dll . 一  使用xml broker, 是delphi 内置的 例: unit ShowXML; interface uses Classes HTTPApp Db DbClient Midas XMLBrokr WebComp MidItems; type TCustomShowXMLButton = class(TXMLButton IScriptComponent) pro

跟我学XSL(1)第一个XML文档

随着Internet的发展,越来越多的信息进入互联网,信息的交换.检索.保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘.HTML将数据内容与表现融为一体,可修改性.数据可检索性差,而XML借鉴了HTML与数据库.程序语言的优点,将内容与表现分开,不仅使检索更为方便,更主要的是用户之间数据的交换更加方便,可重用性更强. XML是一种元标记语言,没有许多固定的标记,为WEB开发人员提供了更大的灵活性.当我们使用HTML时,标记只是简单的表示内容的显示形式,而与表示的内容没有任

C#创建和读取XML文档

扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的.做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算.电子出版.多媒体制作和电子商务的.C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深.本文就从一个方面来探讨一下这二者的关系.即:看用C#如何来创建和读取XML文档. 一.本文程序设计和运行的软件环境 (一)微软公司视窗2000服务器版 (二)

Java编程中更新XML文档的常用方法_JSP编程

  本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之

艾伟_转载:C#来创建和读取XML文档

扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的.做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算.电子出版.多媒体制作和电子商务的.C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深.本文就从一个方面来探讨一下这二者的关系.即:看用C#如何来创建和读取XML文档. 一.本文程序设计和运行的软件环境 (一)微软公司视窗2000服务器 (二).