欢迎来到天天文库
浏览记录
ID:9728353
大小:64.00 KB
页数:7页
时间:2018-05-06
《如何将xml文件中的数据传送并保存在关系数据库中》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、如何将XML文件中的数据传送并保存在关系数据库中>>教育资源库在AJAX、网络服务与纯XML之间存在大量的数据传输。XML确实使数据传输更加方便。虽然这相当不错,不过它完全忽略了一个事实,即最终数据必须存储在某个地方,最可能是在一个关系数据库中。这带来了一个问题:如何将XML文件中的信息存储到关系数据库中呢?理想情况下,这种程序很明显;但事实并非如此。哎!如果我长得像布拉德皮特并拥有比尔盖茨的支票薄就好了。我使它接近完美,我做出如下选择:整容手术释放我的机器人杀手军队哈,错误的选择。再试一次。每次插入使用一个单独SQL语句的单纯循环方法。建立许多可以立即执行的界定SQL语句的单
2、纯循环方法。应用XSL建立SQL的科学方法。我会选择哪个方法,介意猜一猜吗?对,我肯定会选择第三个方法。所以,让我们了解一下我们将要处理的XML,如列表A所示。没有华而不实,只是必要的概念证据。列表A——输入XML文件<?xmlversion="1.0"?><!--Editedl.org)--><root><roe>Pennsylvania</state_name></roe>Nee></roeVARCHAR2(50)利用这些信息,我们可以采取两种可能的行动。第一种是建立一个XSL式样表,它模仿第一个方法:“每次插入使用一个单独SQL语
3、句的单纯循环方法”。这个方法具有速度与通用性的优势,毕竟XSL是一个世界通用的标准。如列表B所示,这个任务所需的XSL与多数其它XSL类似,只有少数几点不同,下面我来分别指出这些差异:首先,专门针对介质类型的xsl:output元素。在这个式样表中,介质类型设定为text/sql,而非默认的text/xml或常见的text/html。另外一个巨大的差异就是其中包含了in.xsl和sqlApostrophe.xsl,它们用来决定那些元素中与数字相对的文本或日期,并用双引号代替单引号来防止SQL问题。另外,还有用来建立输出的xsl:text和xsl:value-of元素。列表B——
4、XSL式样表<?xmlversion="1.0"?><xsl:stylesheetversion="1.0"xmlns:xsl="."><xsl:paramname="table"/><xsl:paramname="textColumns"/><xsl:paramname="dateColumns"/><xsl:includehref="in.xsl"/><xsl:includehref="sqlApostrophe.xsl"/><!--Stylesheet:sample.xslCreationDate:October25,200
5、6Programmer:EdmondL文件来逐个执行SQL语句,这是一件我最不喜欢的事情。但是,这个问题有别的解决方法:将单独的语句用逗号分隔开来,建立一个复合SQL语句。我不认为我懒惰,相反我认为自己有效率。毕竟这个方法比前一个方法更不易出错。因此只需稍稍做一些改变,主要是转移一些代码,我建立了如列表C所示的XSL式样表。列表C——高效XSL样式表<?xmlversion="1.0"?><xsl:stylesheetversion="1.0"xmlns:xsl="."><xsl:paramname="table"/><xsl:paramname="te
6、xtColumns"/><xsl:paramname="dateColumns"/><xsl:includehref="in.xsl"/><xsl:includehref="sqlApostrophe.xsl"/><!--Stylesheet:sample.xslCreationDate:October25,2006Programmer:Edmondents.Template:match="/"CreationDate:October25,2006Programmer:Edmondentandinvokethetemplatefortheindividu
7、alINSERTstatements.UpdateDate:Programmer:Description:--><xsl:templatematch="/"><xsl:elementname="sql"><xsl:apply-templatesselect="//roent></xsl:template><!--Template:match="romer:Edmondents.UpdateDate:Programmer:Description:--><xs
此文档下载收益归作者所有