热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

动态产生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" %>


————下面连接数据库————
<%
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————

<%=trim(rs("name"))%>
<%=trim(rs("NativePlace"))%>
<%=trim(rs("Age"))%>
<%=trim(rs("Telephone"))%>

<% rs.MoveNext
Loop
rs.Close
set rs=nothing
set cCOnn=nothing
%>

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

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

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




推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
author-avatar
GRcoder
弱者,为何而战!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有