久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

詳解XStream別名-創(chuàng)新互聯(lián)

在上一節(jié)中,我們已經(jīng)看到了XStream是多么的簡單易用,本文將繼續(xù)以實(shí)例的方式講解XStream別名。畢竟,你的JAVA對(duì)象不可能總是與XML結(jié)構(gòu)毫發(fā)無差的,誰也不確定某個(gè)開發(fā)者手誤打錯(cuò)了字母,或者是報(bào)文的名稱發(fā)生了變化。

創(chuàng)新互聯(lián)建站于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元建甌做網(wǎng)站,已為上家服務(wù),為建甌各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

假設(shè)輸出如下的XML結(jié)構(gòu),我們應(yīng)該怎么做呢?

<blog author="一個(gè)木瓜">
    <entry>
      <title>第一篇</title>
      <description>歡迎來到木瓜博客!</description>
    </entry>
    <entry>
      <title>第二篇</title>
      <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
    </entry>
  </entries>
</blog>

1.  根據(jù)XML結(jié)構(gòu)構(gòu)建JAVA對(duì)象

package com.favccxx.favsoft.pojo;
import java.util.ArrayList;
import java.util.List;
public class Blog {
    private Author writer;
    private List<Entry> entries = new ArrayList<Entry>();
    public Blog(Author writer) {
        this.writer = writer;
    }
    public void add(Entry entry) {
        entries.add(entry);
    }
    public void addEntry(Entry entry){
        entries.add(entry);
    }
    public List<Entry> getContent() {
        return entries;
    }
    public Author getWriter() {
        return writer;
    }
    public void setWriter(Author writer) {
        this.writer = writer;
    }
}

package com.favccxx.favsoft.pojo;
public class Entry {
    private String title;
    private String description;
    public Entry(String title, String description) {
        this.title = title;
        this.description = description;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

2.開始代碼測(cè)試

package com.favccxx.favsoft.main;
import com.favccxx.favsoft.pojo.Author;
import com.favccxx.favsoft.pojo.Blog;
import com.favccxx.favsoft.pojo.Entry;
import com.thoughtworks.xstream.XStream;
public class MainBlog {
    public static void main(String args[]) {
        Blog myBlog = new Blog(new Author("一個(gè)木瓜"));
        myBlog.add(new Entry("第一篇", "歡迎來到木瓜博客!"));
        myBlog.add(new Entry("第二篇", "全國啟動(dòng)防霧霾紅色預(yù)警。"));
        XStream xstream = new XStream();
        System.out.println(xstream.toXML(myBlog));
    }
}

3.發(fā)現(xiàn)輸出內(nèi)容結(jié)構(gòu)并不是想象的那樣,怎么辦?

<com.favccxx.favsoft.pojo.Blog>
  <writer>
    <name>一個(gè)木瓜</name>
  </writer>
  <entries>
    <com.favccxx.favsoft.pojo.Entry>
      <title>第一篇</title>
      <description>歡迎來到木瓜博客!</description>
    </com.favccxx.favsoft.pojo.Entry>
    <com.favccxx.favsoft.pojo.Entry>
      <title>第二篇</title>
      <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
    </com.favccxx.favsoft.pojo.Entry>
  </entries>
</com.favccxx.favsoft.pojo.Blog>

4.使用類別名,將包含路徑的類對(duì)象進(jìn)行替換。

xstream.alias("blog", Blog.class);
xstream.alias("entry", Entry.class);

發(fā)現(xiàn)輸出結(jié)構(gòu)與想要的結(jié)構(gòu)近了一點(diǎn),但還是不滿足要求。

<blog>
  <writer>
    <name>一個(gè)木瓜</name>
  </writer>
  <entries>
    <entry>
      <title>第一篇</title>
      <description>歡迎來到木瓜博客!</description>
    </entry>
    <entry>
      <title>第二篇</title>
      <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
    </entry>
  </entries>
</blog>

5. 使用字段別名,將寫手writer改成作者author,發(fā)現(xiàn)輸出結(jié)構(gòu)又近了一層。

xstream.aliasField("author", Blog.class, "writer");

<blog>
  <author>
    <name>一個(gè)木瓜</name>
  </author>
  <entries>
    <entry>
      <title>第一篇</title>
      <description>歡迎來到木瓜博客!</description>
    </entry>
    <entry>
      <title>第二篇</title>
      <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
    </entry>
  </entries>
</blog>

6. 使用隱式集合,將不需要展示的集合的根節(jié)點(diǎn)進(jìn)行隱藏。需要注意的是數(shù)組和MAP結(jié)合不能聲明成隱式集合。

xstream.addImplicitCollection(Blog.class, "entries");

<blog>
  <author>
    <name>一個(gè)木瓜</name>
  </author>
  <entry>
    <title>第一篇</title>
    <description>歡迎來到木瓜博客!</description>
  </entry>
  <entry>
    <title>第二篇</title>
    <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
  </entry>
</blog>

7. 使用屬性別名,將xml中的成員對(duì)象以屬性標(biāo)簽形式展示。但是屬性標(biāo)簽并不會(huì)直接寫到xml標(biāo)簽上去,需要實(shí)現(xiàn)SingleValueConverter轉(zhuǎn)換器才行。

xstream.useAttributeFor(Blog.class, "writer");
xstream.aliasField("author", Blog.class, "writer");

package com.favccxx.favsoft.util;
import com.favccxx.favsoft.pojo.Author;
import com.thoughtworks.xstream.converters.SingleValueConverter;
public class AuthorConverter implements SingleValueConverter {
    @Override
    public boolean canConvert(Class type) {
        return type.equals(Author.class);
    }
    @Override
    public String toString(Object obj) {
        return ((Author) obj).getName();
    }
    @Override
    public Object fromString(String str) {
        return new Author(str);
    }
}

8.終于改完了,最終的完整代碼是這樣的

package com.favccxx.favsoft.main;
import com.favccxx.favsoft.pojo.Author;
import com.favccxx.favsoft.pojo.Blog;
import com.favccxx.favsoft.pojo.Entry;
import com.favccxx.favsoft.util.AuthorConverter;
import com.thoughtworks.xstream.XStream;
public class MainBlog {
    public static void main(String args[]) {
        Blog myBlog = new Blog(new Author("一個(gè)木瓜"));
        myBlog.add(new Entry("第一篇", "歡迎來到木瓜博客!"));
        myBlog.add(new Entry("第二篇", "全國啟動(dòng)防霧霾紅色預(yù)警。"));
        XStream xstream = new XStream();
        xstream.alias("blog", Blog.class);
        xstream.alias("entry", Entry.class);
        xstream.useAttributeFor(Blog.class, "writer");
        xstream.aliasField("author", Blog.class, "writer");
        xstream.registerConverter(new AuthorConverter());
        xstream.addImplicitCollection(Blog.class, "entries");
        System.out.println(xstream.toXML(myBlog));
    }
}

9.輸出完美的XML結(jié)構(gòu)

<blog author="一個(gè)木瓜">
  <entry>
    <title>第一篇</title>
    <description>歡迎來到木瓜博客!</description>
  </entry>
  <entry>
    <title>第二篇</title>
    <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
  </entry>
</blog>

10.有時(shí)候需要使用包別名,將包名進(jìn)行替換。需要替換的包名必須從首字母開始替換,不能從中間開始查找替換。

package com.favccxx.favsoft.main;
import com.favccxx.favsoft.pojo.Author;
import com.favccxx.favsoft.pojo.Blog;
import com.favccxx.favsoft.pojo.Entry;
import com.thoughtworks.xstream.XStream;
public class MainBlog {
    public static void main(String args[]) {
        Blog myBlog = new Blog(new Author("一個(gè)木瓜"));
        myBlog.add(new Entry("第一篇", "歡迎來到木瓜博客!"));
        myBlog.add(new Entry("第二篇", "全國啟動(dòng)防霧霾紅色預(yù)警。"));
        XStream xstream = new XStream();
        xstream.aliasPackage("my.company", "com.favccxx");
        System.out.println(xstream.toXML(myBlog));
    }
}

11.輸出格式如下

<my.company.favsoft.pojo.Blog>
  <writer>
    <name>一個(gè)木瓜</name>
  </writer>
  <entries>
    <my.company.favsoft.pojo.Entry>
      <title>第一篇</title>
      <description>歡迎來到木瓜博客!</description>
    </my.company.favsoft.pojo.Entry>
    <my.company.favsoft.pojo.Entry>
      <title>第二篇</title>
      <description>全國啟動(dòng)防霧霾紅色預(yù)警。</description>
    </my.company.favsoft.pojo.Entry>
  </entries>
</my.company.favsoft.pojo.Blog>

小結(jié):

  • 可以使用類別名改變標(biāo)簽的名稱

  • 可以使用字段別名改變標(biāo)簽的名稱

  • 可以使用包別名改變標(biāo)簽的名稱

  • 通過實(shí)現(xiàn)SingleValueConverter接口,可以將成員字段顯示到對(duì)象屬性標(biāo)簽上

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:詳解XStream別名-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.js-pz168.com/article6/hsdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google搜索引擎優(yōu)化服務(wù)器托管企業(yè)建站用戶體驗(yàn)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
蜜桃视频第一区免费观看| 成人丝袜18视频在线观看| 不卡av在线免费观看| 精品国产乱码久久久久久蜜柚| 色综合 综合色| 精品成人免费观看| 亚洲影视在线播放| 国产凹凸在线观看一区二区| 九九九久久久| 欧美日韩精品欧美日韩精品| 欧美国产精品中文字幕| 五月天激情小说综合| www.66久久| 亚洲精品国产精品久久| 精品欧美乱码久久久久久1区2区| 亚洲一区国产视频| 成人精品小蝌蚪| 亚洲精品美女久久7777777| 日韩精品一区二区三区视频播放 | 国产一级精品aaaaa看| 色悠悠久久综合| 久久精品视频免费| 青椒成人免费视频| 国产高清精品一区二区三区| 欧美中文字幕久久| 国产欧美视频在线观看| 久久精品久久精品| 精品久久蜜桃| 日韩一区二区影院| 亚洲福利一二三区| 91丨九色丨国产| 欧美伊人久久久久久午夜久久久久| 国产亚洲一区二区三区在线观看| 日本强好片久久久久久aaa| 99在线影院| 欧美年轻男男videosbes| 亚洲欧美日韩国产综合在线 | 亚洲 欧美综合在线网络| 91色乱码一区二区三区| 欧美制服丝袜第一页| 亚洲色图第一区| 成人av网站在线观看| 色天天综合色天天久久| 国产精品国产自产拍高清av王其| 国产麻豆视频一区二区| 水蜜桃亚洲精品| 欧美经典三级视频一区二区三区| 国产自产高清不卡| 亚洲国产精品一区二区第四页av| 久久精品一级爱片| 国产精品亚洲第一| 色婷婷综合激情| 亚洲欧美日韩国产一区二区三区| 成人不卡免费av| 欧美性色综合网| 亚洲一区二区三区四区不卡| 成人片在线免费看| 日韩精品一区二区三区中文精品| 欧美aa在线视频| 人禽交欧美网站免费| 国产人妖乱国产精品人妖| 国产高清久久久久| 日本高清无吗v一区| 一区二区三区四区精品在线视频| 91麻豆自制传媒国产之光| 4438x亚洲最大成人网| 午夜精品久久久久久| 久热国产精品视频一区二区三区| 26uuu精品一区二区| 激情久久五月天| 一区二区免费在线视频| 亚洲精品写真福利| 国产成人看片| 欧美精品一区二| 国产大陆a不卡| 精品视频在线看| 轻轻草成人在线| 性高潮久久久久久久久| 亚洲蜜桃精久久久久久久| 高清视频一区二区三区| 亚洲精品一区二区三区在线观看| 国产精品自拍一区| 欧美三级三级三级| 免费久久精品视频| 亚洲制服欧美久久| 亚洲一区二区3| 女同一区二区| 亚洲三级免费电影| 精品综合久久久| 国产精品电影一区二区三区| 超碰97在线资源| 久久精品人人做人人综合 | 久久老女人爱爱| 不卡的av在线| 精品日韩在线一区| 成人午夜视频免费看| 欧美一级xxx| 高清不卡一区二区| 欧美一级黄色大片| 丁香激情综合国产| 欧美电影免费观看高清完整版在线 | 亚洲成人第一| 亚洲影视资源网| 亚洲成人一区二区三区| 亚洲国产精品久久人人爱| 日韩三级电影| 亚洲va欧美va人人爽午夜| 亚欧洲精品在线视频免费观看| 亚洲一区视频在线| 亚洲人一区二区| 日韩精品每日更新| 在线日韩av片| 精品一区二区三区在线视频| 欧美日韩激情一区二区| 国内成人自拍视频| 日韩午夜在线影院| 99久久精品国产网站| 国产亚洲成aⅴ人片在线观看| 成人一区二区三区四区| 中文字幕日本不卡| 欧美一区激情视频在线观看| 亚洲网友自拍偷拍| 色女孩综合影院| 国产又粗又猛又爽又黄91精品| 欧美一卡2卡三卡4卡5免费| 成人性生交大片免费看视频在线 | 国产69精品久久久久777| 精品国产网站在线观看| 99热国产免费| 亚洲欧美一区二区三区国产精品 | 午夜不卡av免费| 91精彩视频在线观看| 国产一区二区三区高清播放| 日韩一级片在线播放| 91丨九色porny丨蝌蚪| 国产精品国产三级国产有无不卡| 日本成人三级| 日韩av电影一区| 日韩一区二区三区电影在线观看 | 久久久久久免费网| 精品蜜桃一区二区三区| 亚洲国产成人91porn| 在线免费观看日韩欧美| 国产69精品久久777的优势| 久久久国产一区二区三区四区小说| 精品蜜桃传媒| 日韩电影在线一区| 欧美一区二区三区啪啪| 91精品入口蜜桃| 亚洲一区二区三区自拍| 欧美三区在线观看| 91丨porny丨最新| 亚洲精品乱码久久久久久黑人| 日本高清视频一区二区| 成人精品gif动图一区| 中文字幕在线不卡| 色偷偷88欧美精品久久久| 国产iv一区二区三区| 中文字幕精品一区二区三区精品| 日韩免费av一区二区三区| 精品一区二区三区不卡| 久久久久久久久久久久久夜| 欧洲一区二区日韩在线视频观看免费| 美女任你摸久久| 久久久久久久久免费| 色播亚洲视频在线观看| 国产剧情一区在线| 国产精品卡一卡二卡三| 色婷婷香蕉在线一区二区| 不卡的av中国片| 一区二区三区精密机械公司| 欧美日韩电影在线| 国产传媒一区二区| 日本成人在线电影网| 久久久久久久久久久99999| 日本一区二区不卡高清更新| 国产露脸91国语对白| 国产精品久久久久影院| 在线观看免费亚洲| 国产精品xxx在线观看www| 日韩福利电影在线观看| 久久久久9999亚洲精品| 一本一道久久a久久精品综合 | 久久国产视频网| 国产精品毛片无遮挡高清| 欧美在线一区二区三区| 99国产盗摄| 久久精工是国产品牌吗| 国产精品区一区二区三| 精品视频1区2区| 精品一区二区三区日本| 国产精品一区二区三区网站| 亚洲伦理在线免费看| 欧美一级xxx| 色狠狠久久av五月综合| 99久久婷婷国产综合精品电影| 亚洲1区2区3区4区| 国产女人aaa级久久久级| 欧美四级电影网| 免费精品视频一区二区三区|