亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP針對XML文件操作技巧實例分析

2024-09-05 00:22:25
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JSP針對XML文件操作技巧,較為詳細的分析了XML文件的相關概念、原理、用途,并結合實例介紹了基于JSP解析XML文件的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JSP針對XML文件操作技巧。分享給大家供大家參考,具體如下:

XML(Extensible Markup Language)可擴展標記語言,這個基礎知識在早些已經學習過。而這篇教程為什么把它放在J2EE下邊呢,因為他也是J2EE的13規范之一,雖然XML是W3C萬維網組織聯盟指定的,并做了規范,所以說也是一種規范,我們也必須按照規范來,和JDBC,Servlet,Jsp,Ejb等一樣的。

前邊的文章已經介紹了XML的一些基礎知識,主要是用來存儲,傳輸數據的,但是這些數據我們怎么得到呢,也就是說怎么來解析XML呢?這里總結一下。

首先解析XML文件一般有兩種方式:DOM解析和SAX解析,首先看一下兩者的概念和基礎知識:

一,原理:

DOM解析:在程序開始執行的時候,先將整個XML文件加載到內存中,在內存中形成一棵DOM樹,然后通過某種編程語言對這顆樹上的任意節點進行增刪改查操作。

SAX解析:基于事件驅動型的解析方式。解析是有順序的,順序遵守:從左到右,從上到下。

基于事件驅動型的解析方式不需要將XML文件全部加載到內存中,所以這種方式不會耗費大量的內存,

只不過解析過去的節點不能再次解析,不夠靈活,如果還想解析,只能再次從XML文件頭開始。

二,兩者的優缺點:

DOM解析:優點:靈活。因為整個樹都在內存中,我們隨時隨地都可以對某個節點操作,解析過去的節點還可以再次解析,比較靈活。

缺點:如果XML文件很大,則會耗費大量的內存,因為這個XML文件很大,而需要訪問

的節點又很少。

總結: 所以XML文件較小、需要解析的節點較多,這樣才值得使用DOM解析。

SAX解析:優點:不會耗費大量的內存。

缺點:不靈活(我們可以使用另外一個技術XPATH,使用它可以在XML文件中快速定位要

解析的節點)。

總結:有了XPath技術,SAX解析方式成為我們常用的。

三,在JAVA中,java的JDK提供了關于XML的解析

:org.w3c.dom.*,這是SUN對w3c規范的實現。但是效率,不夠高。所以我們經常使用第三方組件,例如dom4j等,效率相對來說較高一些。

四,好,我們來看一下實例吧:

1,利用JAVA中的JDK提供的,來進行解析讀XML文件:來看兩篇博客寫的很詳細的:Java Dom解析,Java Sax解析。

2,這里寫一下,利用dom4j的解析方法,其實很相同,只不過我感覺dom4j的方法名,屬性名可能更容易使用:

a, 讀XML文件(以下是基于SAX解析方式):

 

 
  1. public static void main(String[] args) throws Exception{  
  2. //創建SAX解析器對象  
  3. SAXReader reader = new SAXReader();  
  4. //讀取XML文件  
  5. Document document = reader.read(new File("db-config.xml"));  
  6. //獲取根元素  
  7. Element rootElement = document.getRootElement();  
  8. System.out.println("根節點的名字:" + rootElement.getName());  
  9. //獲取根節點下的子節點driver  
  10. Element driverElement = rootElement.element("driver");  
  11. String driver = driverElement.getText();  
  12. System.out.println(driver);  
  13. //獲取根節點下的子節點url  
  14. String url = rootElement.elementText("url");  
  15. System.out.println(url);  
  16. //獲取根節點下的子節點user  
  17. String user = rootElement.elementText("user");  
  18. System.out.println(user);  
  19. //獲取根節點下的子節點password  
  20. String password = rootElement.elementText("password");  
  21. System.out.println(password);  
  22. }  

b,寫文件,就是從上向下的了,我們dom4j中的DOM解析的方式:

 

 
  1. public static void main(String[] args) throws Exception{  
  2. //在內存中先創建一個文檔對象  
  3. Document document = DocumentHelper.createDocument();  
  4. //構造文檔樹  
  5. Element stuInfoElement = document.addElement("數學專業書籍");  
  6. Element stuElement1 = stuInfoElement.addElement("書");  
  7. stuElement1.addAttribute("id""110");  
  8. Element nameElement1 = stuElement1.addElement("書名");  
  9. nameElement1.setText("近世代數");  
  10. Element stuElement2 = stuInfoElement.addElement("書");  
  11. stuElement2.addAttribute("id""120");  
  12. Element nameElement2 = stuElement2.addElement("書名");  
  13. nameElement2.setText("高等代數");  
  14. //設置字符編碼方式  
  15. OutputFormat format = OutputFormat.createPrettyPrint();  
  16. format.setEncoding("GB18030");  
  17. //開始寫入  
  18. XMLWriter xmlWriter = new XMLWriter(new FileWriter("students.xml"),format);  
  19. xmlWriter.write(document);  
  20. xmlWriter.close();  
  21. }  

最后寫成的文件:

 

 
  1. <?xml version="1.0" encoding="GB18030"?>  
  2. <數學專業書籍>  
  3. <書 id="110">  
  4. <書名>張三</書名>  
  5. </書>  
  6. <書 id="110">  
  7. <書名>張三</書名>  
  8. </書>  
  9. </數學專業書籍>  

綜上,為XML解析的簡單總結,當然實際中會遇到非常復雜的XML文件,我們可以自己來試著寫這些解析他們的文件,當然也可以使用人家寫好的,這里只是為了多學習,理解它們的本質。

希望本文所述對大家JSP程序設計有所幫助。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲毛片在线观看.| 成人黄色网免费| 91av在线免费观看视频| 亚洲综合国产精品| 亚洲精品日韩久久久| 成人国产精品色哟哟| 日韩视频一区在线| 成人做爽爽免费视频| 精品美女国产在线| 91精品国产91久久久久福利| 国产91在线高潮白浆在线观看| 日本一区二区在线免费播放| 欧美激情亚洲视频| 欧美肥老太性生活视频| 精品久久久久久久久久久久| 国产欧美久久一区二区| 欧美肥婆姓交大片| 久久精品视频在线播放| 欧美成人免费观看| 久久成人精品电影| 成人黄色av播放免费| 中文字幕欧美日韩va免费视频| 亚洲天堂av综合网| 欧美日韩国产精品一区二区三区四区| 欧美国产日韩xxxxx| 日本欧美爱爱爱| 永久555www成人免费| 午夜精品国产精品大乳美女| 亚洲片av在线| 欧美成人免费大片| 亚洲精品免费在线视频| 91网站在线看| 2018中文字幕一区二区三区| 欧美性感美女h网站在线观看免费| 国产91精品视频在线观看| 久久久久久久电影一区| 国产精品日韩久久久久| 2018日韩中文字幕| 狠狠综合久久av一区二区小说| 在线一区二区日韩| 中文字幕精品一区久久久久| 5566日本婷婷色中文字幕97| 欧美性猛交丰臀xxxxx网站| 久久国产一区二区三区| 亚洲伊人久久综合| 久久成人在线视频| 午夜精品在线观看| 日韩欧美在线一区| 欧美国产高跟鞋裸体秀xxxhd| 动漫精品一区二区| 亚洲成人1234| 成人黄色免费片| 亚洲国产一区自拍| 国产专区精品视频| 亚洲欧美成人一区二区在线电影| 日韩精品中文在线观看| 精品视频—区二区三区免费| 日韩av在线网址| 久久久久久噜噜噜久久久精品| 亚洲一区二区久久久久久| 黑人巨大精品欧美一区二区三区| 成人免费看吃奶视频网站| 欧美视频专区一二在线观看| 91九色视频导航| 538国产精品一区二区免费视频| 欧美在线xxx| 欧美性猛交xxxx黑人| 91精品国产高清久久久久久91| 中文字幕国产精品| 日韩小视频网址| 欧美三级欧美成人高清www| 韩国v欧美v日本v亚洲| 亚洲无亚洲人成网站77777| 欧美成人免费大片| 亚洲天堂网在线观看| 日韩在线高清视频| 中文字幕日韩在线播放| 久久青草精品视频免费观看| 欧美日韩一区二区三区在线免费观看| 国产午夜精品视频| 狠狠躁夜夜躁人人爽天天天天97| 国产精品专区第二| 一区二区三区视频免费| 国产精品一区二区三区久久久| 亚洲乱码国产乱码精品精天堂| 国产精品久久久久久久久久久久久| 俺也去精品视频在线观看| 色妞在线综合亚洲欧美| 午夜精品久久久久久久白皮肤| 久久99久久亚洲国产| 精品国产1区2区| 国产精品一区电影| 日本高清+成人网在线观看| 久热99视频在线观看| 亚洲电影成人av99爱色| 亚洲欧美日韩国产中文| 欧美贵妇videos办公室| 97在线观看免费高清| 亚洲jizzjizz日本少妇| 亚洲欧美日韩国产精品| 国产一区二区久久精品| 亚洲夜晚福利在线观看| 亚洲娇小xxxx欧美娇小| 最新91在线视频| 2019国产精品自在线拍国产不卡| 久久久久久久久久亚洲| www.亚洲男人天堂| 中日韩美女免费视频网站在线观看| 久久影院免费观看| 国产亚洲免费的视频看| 亚洲欧洲第一视频| 久久精品国产欧美亚洲人人爽| 欧美午夜电影在线| 亚洲自拍偷拍视频| 亚洲mm色国产网站| 911国产网站尤物在线观看| 日韩精品视频在线观看网址| 成人乱色短篇合集| 孩xxxx性bbbb欧美| 91精品国产成人www| 亚洲欧美综合另类中字| 国产精品丝袜一区二区三区| 欧美性猛交丰臀xxxxx网站| 欧美在线一区二区三区四| 欧美激情第三页| 国产精品视频一区二区高潮| 精品国内产的精品视频在线观看| 狠狠操狠狠色综合网| 热99在线视频| 91在线视频精品| 亚洲日韩欧美视频一区| 成人黄色激情网| 亚洲www视频| 亲爱的老师9免费观看全集电视剧| 国产精品黄色av| 亚洲电影免费观看高清完整版| 精品久久久久久久大神国产| 日韩小视频在线| 97色在线视频| 欧美日韩亚洲天堂| 韩国美女主播一区| 欧美www视频在线观看| 日本乱人伦a精品| 欧洲中文字幕国产精品| 亚洲成人激情视频| 91精品国产综合久久香蕉最新版| 亚洲天堂av在线播放| 欧美成人精品一区二区| 日韩中文在线中文网三级| 日韩av片电影专区| 国产精品18久久久久久麻辣| 国产精品一区二区三区毛片淫片| 高清欧美性猛交xxxx黑人猛交| 久久夜色精品国产欧美乱| 青青青国产精品一区二区| 97人人模人人爽人人喊中文字| 蜜臀久久99精品久久久无需会员| 精品国产1区2区| 久久精品中文字幕| 日韩av观看网址| 欧美成人免费在线视频| 国产精品香蕉国产| 成人免费视频a| 在线精品高清中文字幕|