麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > XML > 正文

使用XML技術(shù)實現(xiàn)OWC對數(shù)據(jù)庫的展示(一)

2024-07-21 02:08:09
字體:
供稿:網(wǎng)友
概述:   本文檔介紹了如何借助xml語言實現(xiàn)在web頁面上的owc對數(shù)據(jù)庫中的數(shù)據(jù)進行展示的方法。由于xml數(shù)據(jù)可以跨越防火墻,因此該方式可以實現(xiàn)在internet上對數(shù)據(jù)進行展現(xiàn)。
在基于web的數(shù)據(jù)庫分析應(yīng)用中,常常借助owc控件結(jié)合html實現(xiàn)對數(shù)據(jù)的表格和圖表兩種方式的展現(xiàn)。一般應(yīng)用往往采用owc直接連接數(shù)據(jù)庫的方式,這會使數(shù)據(jù)庫連接口令暴露在客戶端,而使數(shù)據(jù)庫的安全性降低。本文介紹的采用xml作為owc和數(shù)據(jù)庫之間數(shù)據(jù)交換介質(zhì)的方式,能夠避免這種對數(shù)據(jù)庫造成的不安全危險。同時,這也能帶來其他一些好處,例如:使瀏覽器與web服務(wù)器及數(shù)據(jù)庫間的交互次數(shù)減少,從而加快排序等操作的響應(yīng)速度,并減少了服務(wù)器的負荷。
一、獲取xml數(shù)據(jù)
將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)化為xml格式的方法很多,本文檔不過多對此進行介紹。從性能、通用性角度考慮,這里我們采用了ado直接序列化(持久化persist)數(shù)據(jù)的方式,代碼如下:

<!--getdata.asp  -->

<%

dim strconn

strconn="provider=sqloledb.1;persist security info=false;user id=sa;initial catalog=test;data source=jlwz"

'----------讀取數(shù)據(jù)----------------

dim conn,rs

set conn=server.createobject("adodb.connection")

set rs=server.createobject("adodb.recordset")

conn.open strconn

rs.open "select stat_date,call_num,call_fee from callstat",conn

 

'將ado轉(zhuǎn)化為xml dom

const adpersistxml=1

 

dim objxmldom

set objxmldom=server.createobject("msxml2.domdocument.3.0")

rs.save objxmldom,adpersistxml

set rs=nothing

%>

 

這種方式得到的的xml并不夠簡潔,其中包含了schema信息。 

盡管對于owc中的datasourcecontrol控件來說,可以直接采用這種形式的xml數(shù)據(jù),但考慮到數(shù)據(jù)從服務(wù)器向客戶端傳輸?shù)男剩覀兪褂脁slt對這種xml數(shù)據(jù)進行了轉(zhuǎn)化。為此,編寫了如下的clean.xsl文件:

<?xml version="1.0"?>

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

    xmlns:s="uuid:bdc6e3f0-6da3-11d1-a2a3-00aa00c14882"

    xmlns:dt="uuid:c2f41010-65b3-11d1-a29f-00aa00c14882"

    xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#rowsetschema">

    <xsl:output omit-xml-declaration="yes"/>

    <xsl:template match="/">

        <xsl:element name="data">

            <xsl:for-each select="/xml/rs:data/z:row">

                <xsl:element name="row">

                    <xsl:for-each select="@*">

                        <xsl:element name="{name()}">

                        <xsl:value-of select="."/>

                        </xsl:element>

                    </xsl:for-each>

                </xsl:element>

            </xsl:for-each>

        </xsl:element>

    </xsl:template>

</xsl:stylesheet>

 

然后,在getdata.asp中通過如下代碼對前面的xml數(shù)據(jù)進行轉(zhuǎn)化:

'用xslt清理轉(zhuǎn)化xml數(shù)據(jù)

dim strcleanxml,objxslt

 

set objxslt=server.createobject("msxml2.domdocument")

objxslt.load(server.mappath("clean.xsl"))

strcleanxml=objxmldom.transformnode(objxslt)

 

此時,就得到了我們想要的比較簡潔的xml結(jié)構(gòu)的字符串,可以簡單地將其response.write到客戶端:

<data>

  <row>

     <stat_date>2003-06-01</stat_date>

     <call_num>100</call_num>

     <call_fee>200</call_fee>

  </row>

  <row>

     <stat_date>2003-07-01</stat_date>

     <call_num>200</call_num>

     <call_fee>400</call_fee>

  </row>

  。。。

</data>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲成人第一页 | 久久国产免费视频 | 密室逃脱第一季免费观看完整在线 | 宅男噜噜噜66国产在线观看 | 羞羞羞网站 | 国产一级桃视频播放 | 91 免费视频 | jizzjizzjizzjizz国产| 国产免费人做人爱午夜视频 | 国产噜噜噜噜噜久久久久久久久 | 黄色va视频 | 国产精品久久久久久久hd | 羞羞羞网站 | 99激情 | 日韩视频不卡 | 狠狠干五月天 | 欧美日韩中文字幕在线视频 | 国产无遮挡一区二区三区毛片日本 | 在线播放91 | 深夜福利久久久 | 国产毛片网站 | 亚洲福利在线视频 | 麻豆19禁国产青草精品 | 欧美一级淫片免费视频黄 | 黄在线观看 | 欧美一区成人 | 成人国产精品一区二区毛片在线 | 成人小视频免费在线观看 | 91精品国产乱码久久久久 | 超碰人人做人人爱 | 欧美一级片在线 | 黄视频网站免费在线观看 | 操碰视频在线观看 | 成人做爽爽爽爽免费国产软件 | 一级黄色av电影 | 日朝毛片 | www.91pron| 欧美精品国产综合久久 | 色网免费观看 | 亚洲国产色婷婷 | 久久久久久久不卡 |