国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽

  • 熱門標簽

當前位置: 主頁 > 航空資料 > 計算機 >

時間:2010-08-09 13:05來源:藍天飛行翻譯 作者:admin
曝光臺 注意防騙 網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者

這是一個有關以數據為中心的I n t e r n e t的一個重要的考慮。
所以,假使我們想使用X P a t h來進行查詢,我們應如何正確地進行呢?最好和最有效的解決
方案是,實際地編寫一些將X P a t h的查詢轉化為針對下面的數據庫的正確形式的查詢。實現的細
節將依賴于不同的數據庫系統,但是我們將舉例說明一些后面例子中的一些觀點。
現在,我們將使用一個相當簡單的方法,用這個方法裝入作者列表到XML DOM(文檔數據
模型,Document Object Model)中去,并且接著使用X S L來選擇節點。然后我們會得到可以改
變后端數據庫的好處,同時查詢保持不變。讓我們修改一下腳本,替換S E L E C T查詢中所傳遞的
W H E R E部分,我們像這樣傳遞一個X P a t h語法的查詢:
(1) 使用D O M來寫X M L
我們需要做的第一件事就是修改腳本來存儲從數據庫取回的信息到一個XML DOM。我們應
該真正地在做其他事之前完成它,但是對于某些文檔,像我們所產生的那個,非常快和容易,
只需要用腳本嵌入一些標記的名字。然而,使用D O M則要確保所有的標記是匹配的,所有的屬
性都用雙引號括起來,并且所有的命名空間都是正確的。我們甚至可以用一個解析器來驗證節
點樹,在我們將結果發回給調用者或傳輸結果之前,來確認結果是正確的。
在聲明完變量之后,是創建一個D O M,用來保存結果(注意I E 5將需要安裝I I S來運行這個
特殊的腳本,盡管你可以容易地使用所選的解析器來修改腳本):
程序清單1 0 - 1 6
這個對象提供給我們處理所有D O M的特性(查看第5章,關于可用特性的全部討論)。接著,
我們在數據庫上運行查詢用來檢索所有的作者:
程序清單1 0 - 1 7
這段代碼同樣能夠正確地建立起結果集。然而在能夠寫出標記之前,這一次將使用D O M。
382使用XML 高級編程
下載
第一步是創建一個叫做< A u t h o r s >的元素,它將用來保存所有的作者:
如你所見,創建這個元素比起在開始和結尾寫出< A u t h o r s >和< / A u t h o r s >還要容易,因為
D O M保證了這個層次將被正確地維護。現在準備開始循環處理數據。每一次,從數據庫中得到
一條記錄,我們需要在D O M中創建一條新的元素,這一次叫< A u t h o r >:
請注意,對于使用D O M的新手常犯的一個錯誤是假設剛才所創建的節點與某個東西相連;
不是這樣的!盡管你不得不通過解析器對象來調用元素的生成函數,節點是完全自由地浮動的。
當它已經被完全配置好了在循環的末尾,我們將把它附接給< A u t h o r >節點。
處理< A u t h o r >元素的第一件事就是設置它的a u t h o r C i t e I D屬性。注意,如果在數據庫中的值
為N U L L,s e t A t t r i b u t e ( )函數將會失敗。所以,一般情況下我們將首先檢查N U L L。然而,在這
種情況下,我們知道因為它是表的主鍵,它的值將總是存在的:
在記錄中接著的四個字段被在X M L文檔中的元素所表示。為了向< A u t h o r >節點加入元素容
易些,我們增加了一個叫做F i e l d To E l e m e n t ( )的函數,細節如下:
程序清單1 0 - 1 8
在數據庫中的P o r t r a i t字段對應一個叫做p i c L i n k的屬性,在一個叫< P o r t r a i t >的空元素中。不
像a u t h o r C i t e I D屬性,我們需要檢查數據庫的值是否是N U L L,因為如果是,它將跳出循環。如
果是N U L L,我們將不厭其煩地創建< P o r t r a i t >元素:
程序清單1 0 - 1 9
在完成循環進到下一條記錄之前,我們將< A u t h o r >節點追加到< A u t h o r s >節點上:
程序清單1 0 - 2 0
第10章XML和數據庫使用383 下載
一旦完成增加新的節點到< A u t h o r s >節點,可以拷貝所建立的節點列表到我們在前面創建的
解析器對象的X M L文檔容器中。我們需要這么做,因為在這個地方o A u t h o r s對象只是一個包含
一組節點的節點,不是一個完整的X M L文檔:
一旦我們創建了D O M,需要把它發送給瀏覽器。用必要的信息放在它的前面來顯示它是一
個X M L文檔,然后使用D O M的x m l屬性來編寫它的內部結構的文本化的信息。D O M考慮了開和
關標記,將屬性用引號引起來等等:
程序清單1 0 - 2 1
最后是一個在前面我們提到過的一個函數,它是用來簡化從記錄集的字段中創建節點,和
把它們加入到另一個節點中。同時在使用p i c L i n k屬性的時候,不用擔心當數據庫中的值是
N U L L時會創建任何東西。如果數據集很大,這件事就很值得做,因為可能會存在許多空元素,
它們占用空間。然而,應該只有在知道文檔的D T D允許當元素為空可以不存在時我們才這樣去
做。在這種情況下它將是:
程序清單1 0 - 2 2
(2) 增加查詢
我們剛寫的代碼只是簡單地以X M L的形式輸出所有的作者,但是使用D O M要好于寫自己的
標記。換句話說,我們不應該增加額外的功能到已經有的東西上。然而,既然數據在D O M中,
可以用它來做任何我們想處理X M L的事情。特別是,可以增加自己的X S L查詢語句。
附加的代碼被突出顯示,而且它位于將數據庫中的數據轉換為D O M的代碼之后。只有那時
我們才可以使用X S L語句:
程序清單1 0 - 2 3
384使用XML 高級編程
下載
如果沒有查詢被傳給調用者,則返回整個結果集。然而,如果存在一個查詢,我們使用
s e l e c t N o d e s語句來進行過濾。s e l e c t N o d e s語句可以用在任意節點上,所以我們可以這么寫:
然而,因為所建立的< A u t h o r s >節點不是一個正確的X M L文檔,它沒有根節點,并且查詢開
始用一個/—意味著從根開始工作—結束時不會返回任何東西。所以查詢事先創建的D O M對
象的文檔元素,我們將< A u t h o r s >節點保存在里面。
(3) 輸出結果
用X S L選擇的節點的結果不必是一個有效的X M L文檔。例如,X S L查詢:
 
中國航空網 m.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:XML高級編程上(126)
国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽
国产成人精品久久久| 久久久久久久免费| www.com毛片| 国产成人看片| 亚洲欧洲国产精品久久| 国产亚洲天堂网| 国产精品视频资源| 性欧美亚洲xxxx乳在线观看 | 久热精品视频在线观看一区| 日本午夜在线亚洲.国产| 91精品久久久久久久久久久久久 | 久久久久亚洲精品国产| 日韩一区国产在线观看| 国产精品一色哟哟| 国产精品老女人精品视频| 日本不卡视频在线播放| 777精品视频| 亚洲国产婷婷香蕉久久久久久99| av在线观看地址| 亚洲综合自拍一区| 国产精品一区二区三区免费| 久久99久久亚洲国产| 精品少妇在线视频| 国产精品久在线观看| 狠狠精品干练久久久无码中文字幕| 国产成人看片| 黄色网络在线观看| 国产精品入口免费视| 日日摸日日碰夜夜爽无码| 97久久伊人激情网| 午夜精品亚洲一区二区三区嫩草| 91九色在线观看| 欧美一区二区福利| 国产超碰91| 日韩亚洲欧美精品| 日韩视频在线免费观看| 人妻熟女一二三区夜夜爱| 久久久久久久免费| 欧美一性一乱一交一视频| 国产精品欧美日韩一区二区| 国产在线精品二区| 一本二本三本亚洲码| 91九色在线观看视频| 亚洲一区精彩视频| 99九九视频| 日韩影院一区| www.亚洲成人| 国语自产精品视频在线看一大j8| 精品久久蜜桃| 9a蜜桃久久久久久免费| 日本一区二区三区视频在线观看 | 久久久久福利视频| 三年中国中文在线观看免费播放 | 欧美精品成人在线| 91精品久久久久久久久久久| 日韩欧美精品在线不卡| 国产精品久久久久影院日本| 国产精品影片在线观看| 欧美一区二区三区精品电影| 久久精品国产亚洲精品| 国产欧美精品xxxx另类| 亚洲www永久成人夜色| 久久久久久九九九九| 国产色一区二区三区| 欧美人与性动交a欧美精品| 久久久在线观看| 欧美久久久久久一卡四| 欧美激情免费在线| 国产成人91久久精品| 精品午夜一区二区| 午夜视频在线瓜伦| 日韩亚洲一区二区| 国产九九精品视频| 日韩精彩视频| 一区二区三区观看| www.亚洲成人| av天堂永久资源网| 青青在线免费视频| 在线不卡视频一区二区| 久久综合给合久久狠狠色| 精品日本一区二区| 午夜精品久久久久久久男人的天堂| 久久久精品欧美| 97人人香蕉| 男人添女人下部视频免费| 亚洲色婷婷久久精品av蜜桃| 久久深夜福利免费观看| 97免费视频在线播放| 免费国产成人av| 日本久久久久久久久| 久久国产精品视频| 日韩中文字幕第一页| 97福利一区二区| 国内精品久久久久久影视8| 亚洲综合五月天| 国产精品久久久久久久久电影网| 久久综合色一本| 国产欧美日韩高清| 激情深爱综合网| 日日噜噜噜夜夜爽爽 | 日本不卡一区| 亚洲色精品三区二区一区| 国产精品国产精品国产专区蜜臀ah | 日韩视频免费看| 国产精品一区二区三区观看| 国内视频一区| 青青在线免费视频| 日韩资源av在线| 一区二区三区一级片| 久久亚洲国产成人| 久久久久久久97| 国产精品18久久久久久麻辣 | 国产欧美一区二区三区四区| 激情小视频网站| 欧美日韩免费精品| 青青草久久网络| 亚洲乱码日产精品bd在线观看| 国产精品第一页在线| 日韩三级成人av网| 久久精品第九区免费观看| 久色视频在线播放| 91国产精品电影| 91美女片黄在线观| 不卡一区二区三区视频| 国产伦一区二区三区色一情| 韩日午夜在线资源一区二区| 欧美高清视频一区二区三区在线观看 | 久久手机精品视频| 国产夫妻自拍一区| 91国产美女视频| 91国在线高清视频| 91精品视频在线看| av一区观看| 国产精品69久久久| 久久久亚洲国产| 久久久之久亚州精品露出| 国产激情在线看| 久久99精品久久久久久久青青日本 | 精品一区二区三区日本| 欧美日韩视频免费在线观看| 欧美韩国日本精品一区二区三区| 成人一区二区av| 欧美精品国产精品久久久| 狠狠干一区二区| 蜜臀久久99精品久久久无需会员 | 亚洲一区二区三区在线观看视频| 国产精品久久久久久av福利软件 | 热久久视久久精品18亚洲精品| 国产视色精品亚洲一区二区| 久久久99国产精品免费| 国产精品视频入口| 亚洲一区二区三区在线观看视频| 国内视频一区二区| 97免费高清电视剧观看| 久久天天狠狠| 久久久一本二本三本| 欧美亚洲精品一区二区| 不卡av日日日| 欧美激情精品久久久久久久变态| 国产精品入口日韩视频大尺度| 国产高清一区二区三区| 久久久久久噜噜噜久久久精品| 成人免费在线网址| 国产一区二区精品免费| 亚洲第一在线综合在线| 麻豆国产精品va在线观看不卡| 国产精品日韩电影| 无码日韩人妻精品久久蜜桃| 精品国产一区二区三区四区vr | 日韩视频免费在线播放| 欧美日韩高清在线一区| 国产精品一码二码三码在线| 99在线视频播放| 久久成人资源| 久久亚洲精品无码va白人极品| 国产精品极品在线| 国产精品美女诱惑| 日韩资源av在线| 亚洲日本理论电影| 日本精品视频网站| 国产日韩中文字幕| 欧美激情国产精品日韩| 欧美国产视频一区| 成人免费网视频| 国产精品视频播放| 日韩免费在线观看视频| 狠狠色综合色区| 久久久久久有精品国产| 国产精品一区=区| 日韩精品最新在线观看| 在线亚洲美日韩| 国产成人永久免费视频| 国产成人精品日本亚洲专区61| 国产伦精品一区二区三区精品视频| 激情视频一区二区| 国产欧美一区二区三区久久 | 久久久久久91香蕉国产| 伊人久久av导航| 欧美变态另类刺激| 国产免费xxx|