<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    XStream兩分鐘教程zz

    Posted on 2007-11-06 13:11 yukui 閱讀(170) 評(píng)論(0)  編輯  收藏

     兩分鐘教程

      這是一個(gè)關(guān)于XStream快速的介紹。快速瀏覽一下你會(huì)馬上知道把一個(gè)對(duì)象轉(zhuǎn)換到XML或是轉(zhuǎn)換回來是多么的簡單。你肯定會(huì)碰到下面的問題。

     

    創(chuàng)建能夠序列化的類

      這是一組簡單的類。XStream能把這些類的實(shí)例轉(zhuǎn)換到XML或是轉(zhuǎn)換回來。

     

    public class Person { 

     
    private String firstName;
     
    private String lastName;
     
    private PhoneNumber phonex;
     
    private PhoneNumber fax;
    //構(gòu)造函數(shù)或是其他方法 


    public class PhoneNumber { 

     
    private int code;
     
    private int number; 

    //構(gòu)造函數(shù)或是其他方法
    }

     

      :注意到這些都是私有變量。XStream不關(guān)心變量的作用域。不需要getter或是setter方法。并且,XStream不限定需要默認(rèn)的構(gòu)造函數(shù)。

     

    實(shí)例化XStream

    使用XStream,簡單實(shí)例化XStream類:

     

    XStream xStream = new XStream(); 

     

     你需要xstream-[version].jar and xpp3-[version].jar在classpath中。XPP3是一個(gè)非常快的XML拉式轉(zhuǎn)換器工具。如果你不想包含這個(gè)依賴,你可以使用標(biāo)準(zhǔn)的JAXP DOM轉(zhuǎn)換器來代替。

     

    XStream xStream = new XStream(new DomDriver());//不需要XPP3庫 


    :這個(gè)類的簡單設(shè)計(jì)是為了實(shí)現(xiàn)通用操作的。為了實(shí)現(xiàn)更復(fù)雜的操作你可以選擇自己創(chuàng)建出不同方式。

     

    現(xiàn)在,為了使用XStream來更精簡的輸出XML,你可以為自定義的類創(chuàng)建別名到XML的元素名的映射。這是使用XStream唯一需要的映射的,甚至這個(gè)都是可選的。

     

    xStream.alians("person",Person.class); 

     

    :這是可選的一步。沒有這步XStream也可以很好的起作用,但是XML元素的名字就會(huì)包含每個(gè)類的全稱(包括包名),這將會(huì)使生成XML稍大。

     

    序列號(hào)一個(gè)對(duì)象到XML

     讓我們創(chuàng)建一個(gè)Person的實(shí)例并且填充它的變量域:

     

    Person joe = new Person("Joe","Walnes"); 

    joe.setPhone(
    new PhoneNumber(123,"1234-456")); 

    joe.setFax(
    new PhoneNumber(123,"9999-999")); 

     

    現(xiàn)在轉(zhuǎn)換到XML,你要做的是簡單的調(diào)用XStream:
     

    String xml = xstream.toXML(joe); 

    生成的XML看上去像這樣:

     

    <person>
      
    <firstname>Joe</firstname>
      
    <lastname>Walnes</lastname>
      
    <phone>
        
    <code>123</code>
        
    <number>1234-456</number>
      
    </phone>
      
    <fax>
        
    <code>123</code>
        
    <number>9999-999</number>
      
    </fax>
    </person> 

     

    非常簡單,像創(chuàng)建XML一樣。

     

    從XML反序列化一個(gè)對(duì)象

     

    從XML重新構(gòu)造一個(gè)對(duì)象:
     

    Person newJoe = (Person)xStream.fromXML(xml); 


    XStream是多么的簡單啊!

     

    總結(jié):

     

    使用xStream.alias(String elementName, Class cls)為任何一個(gè)自定義類創(chuàng)建到類到元素的別名;

    使用xStream.toXML(Object obj)轉(zhuǎn)換對(duì)象到XML;

    使用xStream.fromXML(String xml)轉(zhuǎn)換XML到對(duì)象;

    (附原文地址:http://xstream.codehaus.org/tutorial.html)

    Feedback

    # re: XStream兩分鐘教程(譯)  回復(fù)  更多評(píng)論   

    2007-05-08 23:22 by yeshucheng
    只是在String中來回轉(zhuǎn)換,如果要生成一個(gè)xml文件或者從一個(gè)xml讀取呢

    # re: XStream兩分鐘教程(譯)  回復(fù)  更多評(píng)論   

    2007-05-09 09:44 by qiyadeng
    讀:
    Reader reader = new FileReader(persistFile);
    Object object = (Object)xStream.fromXML(reader);
    寫:
    FileWriter writer = new FileWriter(persistFile);
    xStream.toXML(object,writer);

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    posts - 131, comments - 12, trackbacks - 0, articles - 32

    Copyright © yukui

    主站蜘蛛池模板: 免费在线观看一级毛片| 全黄大全大色全免费大片| 亚洲永久在线观看| 亚洲人成77777在线播放网站不卡| 亚洲午夜未满十八勿入| 亚洲AV无码国产在丝袜线观看| 亚洲中久无码永久在线观看同 | 国产激情久久久久影院老熟女免费 | 国产精品冒白浆免费视频| 成人毛片18女人毛片免费96| AA免费观看的1000部电影| 可以免费看黄的网站| 成人最新午夜免费视频| 国产美女精品视频免费观看| 国产一级淫片免费播放| 无码国产亚洲日韩国精品视频一区二区三区 | 福利片免费一区二区三区| 免费一级毛suv好看的国产网站 | 亚洲乱码日产精品BD在线观看| 亚洲人成综合在线播放| 亚洲AV日韩综合一区尤物| 亚洲AV日韩AV永久无码色欲| 国产AV无码专区亚洲AV琪琪| 中文字幕手机在线免费看电影 | 精品一区二区三区免费毛片| 一级美国片免费看| 最近免费中文字幕MV在线视频3| 嫩草成人永久免费观看| 99久久99久久精品免费看蜜桃| 在线视频观看免费视频18| 国产美女无遮挡免费网站| 亚洲国产一区二区三区| 亚洲成a人片在线观看无码专区| 亚洲午夜在线电影| 亚洲欧美日韩中文字幕一区二区三区| 国产精品手机在线亚洲| 老司机精品免费视频| 91av免费观看| 日韩精品无码人妻免费视频| 亚洲日韩在线观看| 91亚洲国产在人线播放午夜|