真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

深圳java培訓(xùn):構(gòu)建xml文檔--【千鋒】

深圳java培訓(xùn):構(gòu)建xml文檔--【千鋒】

10年的滄州網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整滄州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“滄州網(wǎng)站設(shè)計”,“滄州網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

我需要從Java對象層次結(jié)構(gòu)構(gòu)建一個XML文檔。Java類和XML格式都是固定的。所以我不能使用像 XStream 這樣的XML序列化器:它將XML格式基于Java類。同樣,像 JAXB 這樣的Java XML綁定技術(shù)也不行,因為它從XML模式創(chuàng)建Java類[ed:但見下文]。我需要一個手動方法。

低技術(shù)的StringBuilder路由會導(dǎo)致易碎和錯誤的代碼(至少對我來說?。?。

像 JAXP 或 JDOM 這樣的API可以產(chǎn)生更健壯的代碼,但這些代碼非常冗長。

Groovy 有一個優(yōu)雅的 MarkupBuilder :

def writer =   new   StringWriter ()

def xml =   new   MarkupBuilder ( writer )

xml . records ()   {

   car ( name : 'HSV Maloo' ,  make : 'Holden' ,  year : 2006 )   {

     country ( 'Australia' )

     record ( type : 'speed' ,   'Production Pickup Truck with speed of 271kph' )

   }

   car ( name : 'P50' ,  make : 'Peel' ,  year : 1962 )   {

     country ( 'Isle of Man' )

     record ( type : 'size' ,   'Smallest Street-Legal Car at 99cm wide and 59 kg' )

   }}

其他語言(如 Ruby )有更好的語言,盡管我想留在純Java中。似乎有一些Java的新的XML構(gòu)建器,例如 practicalxml 和James Murty的 xmlbuilder 。

在Java中構(gòu)建XML文檔的更優(yōu)雅的方法是什么?

概要:

Jon Doe建議 dom4j 和 jdom 。

CurtainDog推薦使用JAXB,而jherico則告訴我這是一個有針對性的建議:然后你可以使用Dozer來映射我當(dāng)前的JavaBeans和JAXB JavaBeans。

thaggie建議 JIBX 并同意CurtainDog和jherico綁定技術(shù)實際上是實用的。

StaxMan推薦 StaxMate 。

在我看過的東西中,practicalxml和James Murty的xmlbuilder似乎是最簡潔的構(gòu)建器,雖然比較新穎。像JAXB這樣的綁定技術(shù)似乎提供了額外的安全/自動化。在主流選擇中, dom4j 看起來很體面,但仍然有點冗長。它提供了一個“流暢的接口”(mutators返回對變異對象的引用,以便它們可以鏈接在一起),我喜歡它:

public  Document createDocument ()   {

    Document document =  DocumentHelper . createDocument ();

    Element root =  document . addElement (   "root"   );

    Element author2 =  root . addElement (   "author"   )

       . addAttribute (   "name" ,   "Toby"   )

       . addAttribute (   "location" ,   "Germany"   )

       . addText (   "Tobias Rademacher"   );

    Element author1 =  root . addElement (   "author"   )

       . addAttribute (   "name" ,   "James"   )

       . addAttribute (   "location" ,   "UK"   )

       . addText (   "James Strachan"   );

     return  document ;}

為了簡明起見,你可以在這個API上封裝一個精簡的外觀,為這些方法中的一些提供簡潔的同義詞(例如,attr()而不是addAttribute())。


名稱欄目:深圳java培訓(xùn):構(gòu)建xml文檔--【千鋒】
地址分享:http://weahome.cn/article/gchppp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部