freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

面向對象數(shù)據(jù)庫xindice的應用系統(tǒng)畢業(yè)設計說明書-資料下載頁

2025-08-02 22:32本頁面
  

【正文】 ourses/sc[sid=39。s00139。]/cid。resultSet = (xpath)。results = ()。while (()) {Resource res = ()。String text = (String) ()。(course)。(text)。(text)。pos1 = (Query\)。pos2 = (/cid)。if (pos1 != 1) {(pos1 = + pos1)。cid = (pos1 +7, pos2)。(cid = + cid)。String xpath1 = /courses/course[cid=39。 + cid + 39。]/ame。ResourceSet resultSet1 = (xpath1)。ResourceIterator results1 = ()。while (()) {Resource res1 = ()。String text1 = (String) ()。(text1)。(text1)。}// (br)。}}(/course)。這里實現(xiàn)了嵌套查詢,從代碼中可以看到,首先根據(jù)第一層查詢獲得學生所選課程編號,由于結果集游標results每次獲取資源時都是一個XML節(jié)點,因此利用這個特點,使用String字符串中的indexOf()和substring()函數(shù),精確提取重要信息cid(課程編號),然后把cid作為第二層查詢的參數(shù),從存儲課程信息的那個XML文檔中查到課程信息。 Xupdate的應用 Xindice提供的Xupdate接口,從第五步開始有所不同。(5) 獲取一個XUpdateQueryService對象。XUpdateQueryService service = (XUpdateQueryService) (XUpdateQueryService, )。(6) 利用xupdate字符串,執(zhí)行更新操作。String xupdate= xupdate:modifications version=\\ +xmlns:xupdate=\\+xupdate:remove select=\/students/student[sid =39。+userid+39。]\/+/xupdate:modifications 。(xupdate)。 利用Xupdate增加數(shù)據(jù)利用Xupdate增加數(shù)據(jù)關鍵在于Xupdate字符串的寫法。演示系統(tǒng)中用到的Xupdate字符串中的參數(shù)全部是從JSP頁面上獲取到的,所以獲取參數(shù)的正確性也是非常重要的,否則插入數(shù)據(jù)庫中的數(shù)據(jù)就是臟數(shù)據(jù),在往數(shù)據(jù)庫中插入數(shù)據(jù)之前可以先把數(shù)據(jù)輸出到控制臺上來檢查數(shù)據(jù)是否正確。由于演示系統(tǒng)中沒有用到XML Schema,所以一些驗證操作需要在JAVA代碼中來完成。往數(shù)據(jù)庫中插入數(shù)據(jù)之前,應先用Xpath根據(jù)主鍵來查詢數(shù)據(jù)庫中是否已經(jīng)存在該XML節(jié)點,若已經(jīng)存在就不往數(shù)據(jù)庫中插入該個XML節(jié)點了。利用JAVA中字符串可以拼接的特性來寫出符合需求的Xupdate更新字符串,由于Xupdate往XML文檔中插入節(jié)點必須定位到XML中的一個節(jié)點,所以在存儲學生信息的XML文檔中需要加入了一個定位節(jié)點,用于每次插入數(shù)據(jù)時進行XML節(jié)點定位。增加學生信息的Xupdate字符串如下:xudpate=xupdate:modifications version=\\ +xmlns:xupdate=\\+xupdate:insertafter select=\/students/student[sid=39。s0000000000000000000000000000039。]\+xupdate:element name=\student\+sid+userid+/sid+sname+username+/sname+ssex+sex+/ssex+class_id+classid+/class_id+psw+password+/psw+/xupdate:element+/xupdate:insertafter+/xupdate:modifications。其中的userid、username、sex、classid、password都是從JSP頁面上獲得的,這樣根據(jù)需求就可以寫出不同的Xupdate字符串了。 利用Xupdate刪除數(shù)據(jù)利用Xupdate刪除數(shù)據(jù)的操作比增加數(shù)據(jù)的操作稍微簡單點,因為它要用到的參數(shù)就一個主鍵就好了,在演示系統(tǒng)中實現(xiàn)了類似關系數(shù)據(jù)庫中的那種級聯(lián)刪除操作。下面舉一個實例來說明級聯(lián)刪除操作的實現(xiàn)過程。這個例子是系統(tǒng)管理員刪除一個班級信息的情景。當系統(tǒng)管理員刪除一個班級信息時,他也應該一并刪除班級里的同學信息以及班級里同學的選課信息。完成上面描述的操作總共需要三步完成。第一步,根據(jù)班級編號刪除班級信息。Xupdate字符串如下:xupdate = xupdate:modifications version=\\ + xmlns:xupdate=\\+ xupdate:removeselect=\/classes/class[class_id=39。+class_id+39。]\/+ /xupdate:modifications。第二步,根據(jù)班級編號從存儲學生信息的那個XML文檔中查到班級同學的學號,再根據(jù)學號從存儲學生選課信息的那個XML文檔中刪除同學選課記錄。其實現(xiàn)代碼如下:xpath = /students/student[class_id=39。 + class_id + 39。]/sid。XPathQueryService service1 = (XPathQueryService) (XPathQueryService, )。ResourceSet resultSet = (xpath)。ResourceIterator results = ()。Resource res 。String text。String sid =null。while(()){res = ()。text = (String) ()。pos1= ()。pos2 = (/sid)。sid = (pos1+1, pos2)。xpath= xupdate:modifications version=\\ +xmlns:xupdate=\\+xupdate:remove select=\/select_courses/sc[sid =39。+sid+39。]\/+ /xupdate:modifications 。(xpath)。(xpath)。}第三步,根據(jù)班級編號從存儲班級同學信息的XML文檔中刪除該班級里的所有同學信息。其Xupdate更新字符串如下:xupdate= xupdate:modifications version=\\ +xmlns:xupdate=\\+xupdate:remove select=\/students/student[class_id =39。+class_id+39。]\/+/xupdate:modifications 。以上三步簡單介紹了演示系統(tǒng)中的級聯(lián)刪除算法。這里主要是利用JAVA中的變量來臨時保存重要字段信息,然后利用JAVA進行一步一步的刪除。 XLST的應用 動態(tài)生成XML,這個XML文檔是由一個個子節(jié)點組合而成的。下面就介紹這個XML的組合過程。在演示系統(tǒng)中動態(tài)生成XML的過程是在Java servlet中進行的,通過servlet中的PrintWriter對象out將XML代碼輸出到瀏覽器上。根據(jù)XML的文檔描述結構,首先需要通過對象out輸出XML頭文件,代碼如下:(?xml version=\\ encoding=\UTF8\??xmlstylesheet type=\text/xsl\ href=\../Xlst/\?)。輸出頭文件后,接著要輸出根節(jié)點,(results)。然后再利用Xpath查詢需要的信息,通過out對象輸出查詢的節(jié)點。最后通過out對象關閉根節(jié)點,(/results);這樣一個完整的XML文檔就輸出到瀏覽器上了。這里有一個不足之處就是每次通過Xpath查詢的結果不能保存到本地磁盤上,因為查詢完之后就直接往瀏覽器上輸出了。如果要保存查詢結果,只能在瀏覽器上的頁面上右擊,查看源文件,就可以看到完整的XML文檔了,然后保存下來。 編寫XSL樣式表 編寫XLST一個要注意的地方就是在保證輸出樣式的同時,一定要緊緊依照XML文檔的描述結構來寫,否則就很容易出錯。編寫XLST的第一步就是要設計輸出的頁面,這樣XLST的大體結構才有著落。歸根到底XLST還是一個XML文件,所以需要先寫XML的文件頭,然后再寫XLST的樣式版本、命名空間等。為了輸出HTML,XLST的轉化樣式必須符合HTML的樣式,同時又必須符合XML的語法規(guī)則。經(jīng)常存儲在XML文檔中的信息是亂序的,如果只按照XML中的信息順序輸出來不加排序,頁面顯示結果肯定是無序的,這里就需要用XLST下的一個元素xsl:sort,對含有信息的節(jié)點進行排序,這樣才能輸出有序信息,經(jīng)常含有有用信息的節(jié)點不是一個而是多個,這時就需要用到XLST下的另一個元素xsl:foreach逐個節(jié)點瀏覽,下面是一個實例代碼。xsl:foreach select=results/yet_coursexsl:sort select=cid /trtd width=39。150px39。 height=39。25px39。xsl:valueof select=cid //tdtd width=39。150px39。 height=39。25px39。xsl:valueof select=ame //td/tr/xsl:foreach上面的代碼是對每個yet_course節(jié)點按照cid進行排序,然后再輸出課程信息。在XLST技術中還有一個很好用的元素xsl:if,如需放置針對XML文件內容的條件測試,就需要向XSL文檔添加xsl:if元素。其語法為:xsl:if test=expression 如果條件成立則輸出... /xsl:if使用時只需要在XSL文件中的xsl:foreach元素內部添加xsl:if元素即可。如下實例:xsl:foreach select=catalog/cd xsl:if test=price amp。gt。 10 tr tdxsl:valueof select=title//td tdxsl:valueof select=artist//td /tr /xsl:if /xsl:foreach XML中調用XSLT幾乎所有主要的瀏覽器均支持XML+XSLT結構的頁面。;;;、XSLT和Xpath。因此要以不同的方式顯示XML的內容,我們可以借助于XSLT。演示系統(tǒng)中的XML文檔是動態(tài)生成的,調用XSLT方式是在XML頭文件下增加一個調用XSLT的節(jié)點,如下代碼:(?xml version=\\ encoding=\UTF8\??xmlstylesheet type=\text/xsl\ href=\Xlst/\?)。這里調用經(jīng)常會出現(xiàn)一個問題就是瀏覽器提示系統(tǒng)找不到指定資源。這是由于上面的href鏈接的XLST路徑不對,這時就要檢查下XSL樣式表的路徑是否寫正確了。 數(shù)據(jù)庫查詢分析進行數(shù)據(jù)庫查詢分析時,分析查詢效率的一個重要依據(jù)是數(shù)據(jù)庫的查詢時間。而數(shù)據(jù)庫的查詢時間再細分下去就可分為數(shù)據(jù)庫的連接時間、獲取結果集的時間和處理結果集的時間。如何獲得這三個時間不同的人會采取不同的方法。演示系統(tǒng)中是在servlet中利用JAVA中的GregorianCalendar類來獲取時間,這個類的變量可以把時間精確到毫秒,便于計算時間差。定義多個GregorianCalendar類的變量,然后再計算時間差即可得到三個時間。這里要注意的是各個時間變量定義的位置要搞清楚,要看清楚代碼到哪里數(shù)據(jù)庫已經(jīng)連接上了,哪里放置時間變量來獲取時間,計算各個含義的時間差最準確。影響數(shù)據(jù)庫查詢速度的一個重要方面是查詢語句的寫法。在查詢語句中應該少用通配符,做到最小化查詢范圍;盡量避免相關子查詢,因為查詢的嵌套層次越多,查詢的效率就會降低。在演示系統(tǒng)中分別寫了三個Xpath查詢語句來查詢大量數(shù)據(jù)。三個語句為:String xpath = /test/student[sid=39。 +s001 + 39。]/cid。String xpath1 = /test/student[sid=39。 +s001 + 39。]/*。String xpath2 = /test/student/*。上面的三個查詢語句中第一個查詢語句最精確直接查詢的就是某個student節(jié)點下的cid子節(jié)點;第二查詢語句把某個student節(jié)點下的所有子節(jié)點都查出來了;第三個查詢語句把文件名為test的XML文檔下的所有student節(jié)點都查出來了。從這三個查詢語句,可以明顯看出查詢數(shù)據(jù)的精確性和查詢范圍,這對查詢效率來說是十分重要的。上面三個查詢語句的查詢時間差距拉大主要在獲取結果集的時間
點擊復制文檔內容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1