小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

org.apache.commons.digester軟件包學(xué)習(xí)

 小朋 2006-10-20
org.apache.commons.digester軟件包學(xué)習(xí)
lzhengj 原創(chuàng)  (參與分:13509,專家分:825)   發(fā)表:2005-10-09 17:16   版本:1.0   閱讀:1379

在畢業(yè)設(shè)計(jì)(基于XML的電子商務(wù)平臺(tái))的時(shí)候,我參考了幾種處理XML文檔的組件,DOM、JDOM等,最好我選擇了用JDOM(當(dāng)時(shí)感覺自己用的技術(shù) 比較先進(jìn))。但是在最近偶爾的機(jī)會(huì)見到了digester這個(gè)東西,感覺好奇所以今天學(xué)習(xí)了一下: org.apache.commons.digester軟件包。以下網(wǎng)址有一個(gè)很不錯(cuò)的介紹:
http://www./pub/a/onjava/2002/10/23/digester.html?page=1
它能方便地將XML文檔所定義的元素轉(zhuǎn)化為JAVA對(duì)象,其實(shí)它的用法有點(diǎn)象棧(當(dāng)然內(nèi)在的原理就是那個(gè)古老的東西,只是提供了更高一層的封裝)。

     //生成一個(gè)digester。主要需要引進(jìn)commons-logging.jar、commons-collections.jar、commons-      beanutils.jar
         Digester digester = new Digester();
         
         //設(shè)置對(duì)XML文檔資料是否進(jìn)行DTD驗(yàn)證
         digester.setValidating( false );
         
         //當(dāng)遇見 catalog 元素的時(shí)候,產(chǎn)生一個(gè)Catalog對(duì)象
         digester.addObjectCreate( "catalog", Catalog.class );
         
         //當(dāng)遇見 catalog 元素下面的book的時(shí)候,產(chǎn)生一個(gè)Book對(duì)象
         digester.addObjectCreate( "catalog/book", Book.class );
         // 當(dāng)遇見 catalog 元素下面的book的author時(shí)候,調(diào)用author屬性的Set方法
         digester.addBeanPropertySetter( "catalog/book/author", "author" );
         digester.addBeanPropertySetter( "catalog/book/title", "title" );
         //當(dāng)再一次遇見 catalog 元素下面的book的時(shí)候,調(diào)用catalog類的addBook()方法
         digester.addSetNext( "catalog/book", "addBook" );

         digester.addObjectCreate( "catalog/magazine", Magazine.class );
         digester.addBeanPropertySetter( "catalog/magazine/name", "name" );

         digester.addObjectCreate( "catalog/magazine/article", Article.class );
         //addSetProperties()是將對(duì)應(yīng)元素的屬性賦值。
         digester.addSetProperties( "catalog/magazine/article", "page", "page" );
         digester.addBeanPropertySetter( "catalog/magazine/article/headline" ); 
         digester.addSetNext( "catalog/magazine/article", "addArticle" );

         digester.addSetNext( "catalog/magazine", "addMagazine" );
         //"F:\\Digester\\catalog.xml"為XML文檔
         File input = new File( "F:\\Digester\\catalog.xml" );
         Catalog c = (Catalog)digester.parse( input );
         System.out.println( c.toString() );


在測(cè)試以上網(wǎng)站的例子的時(shí)候引進(jìn):commons-digester.jar,另外請(qǐng)你引進(jìn):commons-logging.jar、commons-collections.jar、commons-beanutils.jar
這是因?yàn)樵趫?zhí)行: Digester digester = new Digester();的時(shí)候配置了LOG(在apache下面的很多組件都會(huì)用到它的公用組件)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多