2006-12-08

如何将XML文件中的数据传送并保存在关系数据库中

来源: 开发者在线 作者:佚名 评论 0 条
 

在AJAX、网络服务与纯XML之间存在大量的数据传输。XML确实使数据传输更加方便。虽然这相当不错,不过它完全忽略了一个事实,即最终数据必须存储在某个地方,最可能是在一个关系数据库中。这带来了一个问题:如何将XML文件中的信息存储到关系数据库中呢?

理想情况下,这种程序很明显;但事实并非如此。哎!假如我长得像布拉德皮特并拥有比尔盖茨的支票薄就好了。我使它接近完美,我做出如下选择:

  • 整容手术
  • 释放我的机器人杀手军队

哈,错误的选择。再试一次。

  • 每次插入使用一个单独SQL语句的单纯循环方法。
  • 建立许多可以立即执行的界定SQL语句的单纯循环方法。
  • 应用XSL建立SQL的科学方法。

我会选择哪个方法,介意猜一猜吗?

对,我肯定会选择第三个方法。所以,让我们了解一下我们将要处理的XML,如列表A所示。没有华而不实,只是必要的概念证据。

列表A——输入XML文件

<?xml version="1.0" ?>

<!-- Edited with the Butterfly XML Editor (http://www.butterflyxml.org) -->

<root>

<row>

<state_id>PA</state_id>

<state_name>Pennsylvania</state_name>

</row>

<row>

<state_id>NJ</state_id>

<state_name>New Jersey</state_name>

</row>

</root>

下面,我们查看一下我们建立插入的表格,如A

表A——Tarqet

state_id

VARCHAR2(2)

state_name

VARCHAR2(50)

利用这些信息,我们可以采取两种可能的行动。第一种是建立一个XSL式样表,它模拟第一个方法:“每次插入使用一个单独SQL语句的单纯循环方法”。这个方法具有速度与通用性的优势,究竟XSL是一个世界通用的标准。

列表B所示,这个任务所需的XSL与多数其它XSL类似,只有少数几点不同,下面我来分别指出这些差异:首先,专门针对介质类型的xsl:output元素。在这个式样表中,介质类型设定为text/sql,而非默认的text/xml或常见的text/html。另外一个巨大的差异就是其中包含了in.xslsqlApostrophe.xsl,它们用来决定那些元素中与数字相对的文本或日期,并用双引号代替单引号来防止SQL问题。另外,还有用来建立输出的xsl:textxsl:value-of元素。

列表B——XSL式样表

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:param name="table"/>

<xsl:param name="textColumns"/>

<xsl:param name="dateColumns"/>

<xsl:includehref="in.xsl"/>

<xsl:includehref="sqlApostrophe.xsl"/>
共4页: 上一页 1 [2] [3] [4] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量  
下一篇:Mashups:Web 应用程序新成员
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号