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

  • 熱門標簽

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

時間: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查詢:
 
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:XML高級編程上(126)
国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽
天堂av一区二区| 国产免费成人av| 欧美精品一区二区三区三州| 成人免费观看视频在线观看| 国产精品露脸自拍| 欧美精品与人动性物交免费看 | 成人97在线观看视频| 欧美日韩国产不卡在线看| 久久精品magnetxturnbtih| 欧美激情日韩图片| 国产美女精品在线观看| 久久6精品影院| 国产九九精品视频| 久久99久久99精品免观看粉嫩| 国产综合在线观看视频| 国产精品久久亚洲| 免费久久久一本精品久久区| 国产精品日本一区二区| 激情图片qvod| 色综合导航网站| 国产免费一区二区三区在线观看| 国产精品视频一区二区三区经| 欧美凹凸一区二区三区视频| 国产精品情侣自拍| 激情伊人五月天| 精品不卡在线| 成人a在线观看| 亚洲精品乱码久久久久久自慰| 91精品在线观| 日本精品一区二区三区四区| 色婷婷久久一区二区| 僵尸世界大战2 在线播放| 伦理中文字幕亚洲| 国产精品一久久香蕉国产线看观看 | 欧美韩国日本在线| 国产精品沙发午睡系列| 国产日韩欧美电影在线观看| 国产一区国产精品| 97人人模人人爽人人少妇| 中文字幕一区二区三区有限公司 | 色婷婷综合久久久久中文字幕1| 日韩av大全| 俺去啦;欧美日韩| 欧美日韩亚洲一区二区三区四区 | 国产日韩欧美电影在线观看| 亚洲一区二区三区久久| 国产成人精品久久二区二区 | 91精品国产综合久久久久久蜜臀 | 97精品国产97久久久久久| 日韩wuma| 久久久精品2019中文字幕神马| 欧美在线观看日本一区| 亚洲国产精品日韩| 青青久久av北条麻妃海外网| 日韩中文字幕在线免费| 国产有码在线一区二区视频| 91高清视频免费| 亚洲最大福利视频网站| 久久av高潮av| 国产在线精品日韩| 欧美一区二区三区艳史| 国产精品裸体一区二区三区| av在线不卡一区| 欧美一级二级三级| 亚洲中文字幕无码av永久| 久久综合九色综合88i| 欧美精品一区三区在线观看| 一区二区三区日韩视频| 国产av无码专区亚洲精品| 国产在线视频一区| 少妇人妻在线视频| 精品久久久久亚洲| 久久久久久久久国产精品| 国产免费色视频| 青青精品视频播放| 亚洲国产精品123| 国产精品国产三级国产aⅴ浪潮 | av一区二区三区免费观看| 人妻内射一区二区在线视频| 超在线视频97| 久久久久免费看黄a片app| 高清视频一区二区三区| 欧美一区观看| 视频一区二区三区免费观看| 久久91精品国产91久久久| 日韩有码在线观看| 91精品国产自产91精品| 国产热re99久久6国产精品| 欧美一区二区影院| 日韩中文字幕组| 一区二区三区在线视频111| 国产精品男人的天堂| 国产福利不卡| 91美女福利视频高清| 国语自产精品视频在线看 | av免费中文字幕| 国产视频福利一区| 欧美中文字幕第一页| 亚洲免费在线精品一区| 美女精品久久久| 国产精品久久亚洲| 国产精品入口免费视| 久久久久久亚洲精品不卡4k岛国| 91好吊色国产欧美日韩在线| 国产精品一区二区你懂得| 精品一区二区三区免费毛片| 欧美综合在线第二页| 国产免费人做人爱午夜视频| 久久精品国产91精品亚洲| 日日骚av一区| 性一交一乱一伧国产女士spa | 国产美女精品视频免费观看| 日韩高清国产精品| 日韩欧美一区二区三区久久婷婷 | 免费av一区二区| 精品国产一区二区三| 久久国产视频网站| 国产精品久久久久久久免费大片| 国产精品99导航| 成人免费网视频| 欧美性猛交久久久乱大交小说| 欧美精品手机在线| 精品国内产的精品视频在线观看| 97国产精品人人爽人人做| 国内精品久久久久影院优| 欧美亚洲成人精品| 日本在线观看不卡| 伊人婷婷久久| 亚洲欧美日韩精品在线| 91精品国产自产在线老师啪| 91精品国产自产在线老师啪 | 国产日韩欧美日韩大片| 国产日韩欧美另类| 成人在线精品视频| 欧美激情久久久久久| 日本一区二区三区视频在线播放 | 国产精品高清在线| 国产精品精品视频| 蜜臀久久99精品久久久久久宅男 | 蜜桃网站成人| 国产日韩av在线| 成人黄色中文字幕| 国产精品96久久久久久又黄又硬| 久久久综合免费视频| 久久黄色av网站| 日本女人高潮视频| 久久国产成人精品国产成人亚洲| 国产精品久久婷婷六月丁香| 免费黄色福利视频| 欧美久久电影| 国产噜噜噜噜噜久久久久久久久| 97久久久免费福利网址 | 91九色丨porny丨国产jk| 国产精品传媒毛片三区| 精品久久中出| 亚洲 中文字幕 日韩 无码| 日本wwwcom| 国产欧美自拍视频| 久久婷婷国产综合尤物精品| 久久精品国亚洲| 欧美日韩国产va另类| 欧美一乱一性一交一视频| 日韩欧美国产综合在线| 免费人成在线观看视频播放| 成人做爽爽免费视频| 国产ts一区二区| 精品乱色一区二区中文字幕| 日韩在线综合网| 国产日韩欧美一二三区| 久久综合九色综合88i| 国产精品老女人精品视频| 亚洲激情免费视频| 狠狠色伊人亚洲综合网站色| 国产精品91免费在线| 国产精品电影网站| 日本一区高清不卡| 国产婷婷一区二区三区| 国产v亚洲v天堂无码| 欧美成人第一页| 日韩a在线播放| 国产免费观看高清视频| 日韩有码在线视频| 亚洲视频在线观看日本a| 男女视频一区二区三区| 国产精品7m视频| 欧美大胆在线视频| 日韩精品福利视频| 91九色在线视频| 不卡毛片在线看| 热99这里只有精品| 97久久伊人激情网| 国产精品高潮呻吟久久av无限| 欧美一区二区.| 国产亚洲精品久久久久久久 | 亚洲高清资源综合久久精品| 国产在线观看福利| 久久精品国产一区二区三区| 天天爽天天狠久久久| 国产免费黄视频| 国产精品久久久一区|