<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開(kāi)發(fā)教程 > SQL Server數(shù)據(jù)庫(kù)和XML標(biāo)識(shí)語(yǔ)言的集成

      SQL Server數(shù)據(jù)庫(kù)和XML標(biāo)識(shí)語(yǔ)言的集成
      2010-01-17 10:57:06  作者:  來(lái)源:
      XML相比HTML給予了Web開(kāi)發(fā)人員更大的編程靈活性。這種技術(shù)驅(qū)動(dòng)開(kāi)發(fā)機(jī)構(gòu)嘗試把XML同自己的產(chǎn)品集成起來(lái)。微軟就是采取如此舉措的先驅(qū)者。微軟的幾乎所有產(chǎn)品中都能看到XML的身影。舉個(gè)例子:微軟是如何在其SQL Server產(chǎn)品線中集成XML的呢?下面咱們就來(lái)看看關(guān)鍵的FOR XML子句。 

        以XML的名義獲取信息 

        SQL Server和XML之間的集成首要一點(diǎn)就是根據(jù)SQL數(shù)據(jù)創(chuàng)建XML文件。XML文件的構(gòu)造并不復(fù)雜,用簡(jiǎn)單的腳本和ADO記錄集就可以輕松產(chǎn)生。這個(gè)任務(wù)雖然不算麻煩,但開(kāi)發(fā)人員卻需要針對(duì)他們從服務(wù)器獲取的結(jié)果集合產(chǎn)生不同的腳本,或者編寫(xiě)更為復(fù)雜的通用腳本。SELECT 語(yǔ)句則由此而配備了新的FOR XML子句。 

        該子句的語(yǔ)法如下所示: 

        [ FOR { XML { RAW   AUTO   EXPLICIT } 

        [ , XMLDATA ] 

        [ , ELEMENTS ] 

        [ , BINARY BASE64 ] } ] 

        FOR XML子句的XML模式由三種參數(shù)值表示:RAW、AUTO或者EXPLICIT。模式?jīng)Q定了結(jié)果XML的形式和組成。下面我們就更深入些地通過(guò)以下示例了解以上各個(gè)XML選項(xiàng)。 

        RAW示例 

        我們執(zhí)行以下的SQL語(yǔ)句: 

        SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML RAW 

        執(zhí)行后產(chǎn)生的結(jié)果如下: 

        <row OrderID="10248" OrderDate="1996-07-04T00:00:00" ProductID="11"/> 

        <row OrderID="10248" OrderDate="1996-07-04T00:00:00" ProductID="42"/> 

        <row OrderID="10248" OrderDate="1996-07-04T00:00:00" roductID="72"/> 

        AUTO示例 

        我們執(zhí)行以下的SQL語(yǔ)句: 

        ‘結(jié)果限制為3條記錄。SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML AUTO 

        產(chǎn)生的結(jié)果如下所示: 

        <Orders OrderID="10248" OrderDate="1996-07-04T00:00:00"> 

        <Order_x0020_Details ProductID="11"/> 

        <Order_x0020_Details ProductID="42"/> 

        <Order_x0020_Details ProductID="72"/> 

        </Orders> 

        EXPLICIT示例 

        Explicit模式給予查詢編程人員對(duì)產(chǎn)生XML的完全控制能力。然而這種控制力度卻要價(jià)不菲:你得編寫(xiě)每一查詢以便SQL語(yǔ)句能包含XML信息。 

        有關(guān)的語(yǔ)法很復(fù)雜,而且超出了本文的討論范圍。[ , XMLDATA ] [ , ELEMENTS ] [ , BINARY BASE64 ] 是相應(yīng)的可選參數(shù)。 

        可選元素 

        示例可以讓我們對(duì)各種設(shè)置的內(nèi)部工作機(jī)理有更多的了解,下面我們就進(jìn)一步研究下FOR XML語(yǔ)句的可選元素XMLDATA。 

        如果你設(shè)置該選項(xiàng),那么XML-Data schema就會(huì)包含在結(jié)果集合里。以下是SQL語(yǔ)句: 

        SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML AUTO, XMLDATA 

        以上的SQL語(yǔ)句產(chǎn)生以下結(jié)果: 

        "urn:schemas-microsoft-com:datatypes">order="many">… 

        ELEMENTS 

        ELEMENTS選項(xiàng)指示各數(shù)據(jù)列作為子元素而非屬性返回。假如你采用AUTO模式就可以只采用該選項(xiàng)。 

        BINARY BASE64 

        使用該選項(xiàng)表示你希望采用base64編碼格式表示二進(jìn)制數(shù)據(jù)。 

        注:本文只是對(duì)FOR XML子句的簡(jiǎn)單說(shuō)明,這里要提醒你的是這一部分不過(guò)是XML同SQL Server集成需要注意的一點(diǎn),其他方面的問(wèn)題還包括IIS的OPENXML 函數(shù)和模版文件等。
      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        五月的丁香六月的婷婷综合 | 亚洲欧美日产综合在线网性色 | 亚洲成aV人在线视猫咪 | 中文字幕日韩精品第一页 | 亚洲国产欧美日韩另类精品一区二区在线 | 亚洲伊人久久综合精品 |