<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) 評論(0)  編輯  收藏

     兩分鐘教程

      這是一個關于XStream快速的介紹??焖贋g覽一下你會馬上知道把一個對象轉換到XML或是轉換回來是多么的簡單。你肯定會碰到下面的問題。

     

    創建能夠序列化的類

      這是一組簡單的類。XStream能把這些類的實例轉換到XML或是轉換回來。

     

    public class Person { 

     
    private String firstName;
     
    private String lastName;
     
    private PhoneNumber phonex;
     
    private PhoneNumber fax;
    //構造函數或是其他方法 


    public class PhoneNumber { 

     
    private int code;
     
    private int number; 

    //構造函數或是其他方法
    }

     

      :注意到這些都是私有變量。XStream不關心變量的作用域。不需要getter或是setter方法。并且,XStream不限定需要默認的構造函數。

     

    實例化XStream

    使用XStream,簡單實例化XStream類:

     

    XStream xStream = new XStream(); 

     

     你需要xstream-[version].jar and xpp3-[version].jar在classpath中。XPP3是一個非??斓腦ML拉式轉換器工具。如果你不想包含這個依賴,你可以使用標準的JAXP DOM轉換器來代替。

     

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


    :這個類的簡單設計是為了實現通用操作的。為了實現更復雜的操作你可以選擇自己創建出不同方式。

     

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

     

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

     

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

     

    序列號一個對象到XML

     讓我們創建一個Person的實例并且填充它的變量域:

     

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

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

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

     

    現在轉換到XML,你要做的是簡單的調用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> 

     

    非常簡單,像創建XML一樣。

     

    從XML反序列化一個對象

     

    從XML重新構造一個對象:
     

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


    XStream是多么的簡單啊!

     

    總結:

     

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

    使用xStream.toXML(Object obj)轉換對象到XML;

    使用xStream.fromXML(String xml)轉換XML到對象;

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

    Feedback

    # re: XStream兩分鐘教程(譯)  回復  更多評論   

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

    # re: XStream兩分鐘教程(譯)  回復  更多評論   

    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);

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

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

    Copyright © yukui

    主站蜘蛛池模板: 曰批视频免费30分钟成人| 野花香高清在线观看视频播放免费| 久久国产高潮流白浆免费观看| 亚洲av午夜成人片精品网站 | 青青青国产免费一夜七次郎| 亚洲精品日韩专区silk| 伊人久久免费视频| 亚洲av无码乱码国产精品| 日韩插啊免费视频在线观看 | 永久久久免费浮力影院| 亚洲第一成年免费网站| 国产精品黄页在线播放免费| 国产91成人精品亚洲精品| 亚洲AⅤ无码一区二区三区在线| 视频一区在线免费观看| 久久亚洲欧洲国产综合| 日本在线看片免费| 亚洲综合激情视频| 免费鲁丝片一级在线观看| 亚洲av无码成人精品国产| 高清在线亚洲精品国产二区| 一二三四在线观看免费中文在线观看| 伊人久久大香线蕉亚洲| 人妻丰满熟妇无码区免费| 亚洲日韩在线视频| 午夜成年女人毛片免费观看 | 未满十八18禁止免费无码网站| 亚洲专区先锋影音| 成人黄18免费视频| 无码日韩人妻AV一区免费l| 国产亚洲精品国产| 男女免费观看在线爽爽爽视频 | 亚洲伊人久久大香线蕉综合图片| 久草视频在线免费看| www.亚洲日本| 亚洲人成国产精品无码| 91免费人成网站在线观看18| 久久无码av亚洲精品色午夜 | 亚洲精品无码高潮喷水A片软| 亚洲中文字幕视频国产| 4455永久在线观免费看|