新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → 动态产生XML文档的几种方式 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5054 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: 动态产生XML文档的几种方式 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     hsower 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      威望:7
      等级:大四寒假(收到IBM的Offer啦)
      文章:72
      积分:1606
      门派:XML.ORG.CN
      注册:2004/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hsower发送一个短消息 把hsower加入好友 查看hsower的个人资料 搜索hsower在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hsower的博客楼主
    发贴心情 动态产生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必将成为互联网中一颗璀璨的明星。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/6/19 14:27:00
     
     GoogleAdSense狮子座1983-8-21
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/1 18:54:48

    本主题贴数1,分页: [1]

     *树形目录 (最近20个回帖) 顶端 
    主题:  动态产生XML文档的几种方式(3197字) - hsower,2004年6月19日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms