小編給大家分享一下Apache Digester應(yīng)用的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
10年積累的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有鐵力免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
利用 apache commons-digester 自動(dòng)根據(jù)xml文件創(chuàng)建java 對(duì)象
一.序
Digester是apache的一個(gè)組件 apache commons-digester.jar,通過它可以很方便的從xml文件生成java對(duì)象.你不用再象以前通過jdom或者Xerces去讀取一個(gè)document對(duì)象.(jdom和Xerces仍然有它們的用武之地及強(qiáng)大之處,在其它應(yīng)用里你也少不了它們)
我只是用一個(gè)例子展示一下如何把xml文件生成一個(gè)java object.
首先你必須把jar加入到你的項(xiàng)目classpath.
(一)準(zhǔn)備:
1.環(huán)境: Eclipse, jdk1.4+
2.需求說明:學(xué)院包含學(xué)生和老師,學(xué)生可以選修課程,老師有不同的資格認(rèn)證。
3.Java Class的定義,簡(jiǎn)潔起見,略去import內(nèi)容。
4.使用Digester生成java對(duì)象 必須要定義一個(gè)xml文件,此xml文件必須符合digester-rules.dtd的規(guī)則。
5.所有的xml文件必須在classpath路徑中,這樣可以通過Class.getClassLoader().getInputStream()讀取xml文件。
(二)提要:
本示例所需的java class 和 xml文件分成四類:
1.基礎(chǔ)xml文件: [academy.xml]: 你將要解析的xml文件.
2.基礎(chǔ)java class: [Academy.java, Teacher.java, Student.java, Cousre.java]: 生成的對(duì)象的類定義
3.digesterRules.xml: [academyRules.xml]: 定義了基礎(chǔ)xml文件到基礎(chǔ)java class的匹配(映射)關(guān)系
4.Digester class: [DigestXMLJavaAcademy.java]: 根據(jù)digesterRules.xml去解析基礎(chǔ)xml文件,并生成java 對(duì)象
(三)參考資料
1.English ebook: Pro Jakarta Commons by Harshad Oak Apress 2004
二.基礎(chǔ)Java Class
1.學(xué)院 class Academy.java
Java代碼
2.學(xué)生 Student.java
Java代碼
3.老師 Teacher.java
Java代碼
4.課程 Course.java
Java代碼
三.基礎(chǔ)XML文件 ============================================================ Java代碼 |
四.Digester Class
DigestXMLJavaAcademy.java 和academyRules.xml
其中academyRules.xml用來定義xml文件和java對(duì)象的匹配(映射)關(guān)系,格式要符合digester-rules.dtd格式約束
DigestXMLJavaAcademy.java 根據(jù)academyRules.xml解析academy.xml文件并生成 Academy對(duì)象.
============================================================
Java代碼
2. DigestXMLJavaAcademy.java
Java代碼
以上是“Apache Digester應(yīng)用的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!