XStream轉換list、多個節點。
XML檔案如下:
<MbfBody>
<price>
<cmmdtyCode>1</cmmdtyCode>
<cityCode>1</cityCode>
<storeCode>s</storeCode>
<cmmdtyPrice>56</cmmdtyPrice>
<oneExtendPrice>56</oneExtendPrice>
<twoExtendPrice>56</twoExtendPrice>
<threeExtendPrice>56</threeExtendPrice>
<downTime>2012-12-12</downTime>
</price>
<price>
<cmmdtyCode>2</cmmdtyCode>
<cityCode>1</cityCode>
<storeCode>s</storeCode>
<cmmdtyPrice>56</cmmdtyPrice>
<oneExtendPrice>56</oneExtendPrice>
<twoExtendPrice>56</twoExtendPrice>
<threeExtendPrice>56</threeExtendPrice>
<downTime>2012-12-12</downTime>
</price>
</MbfBody>
想使用XStream轉換為bean。
只需要使用@XStreamImplicit(itemFieldName="price")即可。
程式碼如下:
/**
*
* @author freedwindx
*/
@XStreamAlias("MbfBody")
public class XPriceDownloadItemList extends BaseDto{
/**
*/
private static final long serialVersionUID = -4942613159612187126L;
@XStreamImplicit(itemFieldName="price")//這句話是關鍵
private List<XPriceDownloadItem> downloadItems;
/**
*
*/
public XPriceDownloadItemList() {
// TODO Auto-generated constructor stub
}
/**
* @param downloadItems
*/
public XPriceDownloadItemList(List<XPriceDownloadItem> downloadItems) {
super();
this.downloadItems = downloadItems;
}
/**
* @param downloadItems the downloadItems to set
*/
public void setDownloadItems(List<XPriceDownloadItem> downloadItems) {
this.downloadItems = downloadItems;
}
/**
* @return the downloadItems
*/
public List<XPriceDownloadItem> getDownloadItems() {
return downloadItems;
}
上面是list,還需要一個對bean的註解。
/**
*
* 功能描述:
*
* @author 作者
* @created 2013-12-24 上午9:08:12
* @version 1.0.0
* @date 2013-12-24 上午9:08:12
*/
@XStreamAlias("price")
public class XPriceDownloadItem extends BaseDto {
private static final long serialVersionUID = 3803940743664353143L;
@XStreamAlias("cmmdtyCode")
private String cmmdtyCode;
@XStreamAlias("cityCode")
private String cityCode;
@XStreamAlias("storeCode")
private String storeCode;
@XStreamAlias("cmmdtyPrice")
private String cmmdtyPrice;
@XStreamAlias("oneExtendPrice")
private String oneExtendPrice;
@XStreamAlias("twoExtendPrice")
private String twoExtendPrice;
@XStreamAlias("threeExtendPrice")
private String threeExtendPrice;
@XStreamAlias("downTime")
private String downTime;
main函式:
public static void main(String[] args) {
XStream xStream = new XStream();
xStream.autodetectAnnotations(true);
XPriceDownloadItemList xPriceDownloadItemList = new XPriceDownloadItemList();
List<XPriceDownloadItem> list = new ArrayList<XPriceDownloadItem>();
XPriceDownloadItem x1 = new XPriceDownloadItem("1", "1", "s","56", "56", "56", "56", "2012-12-12");
XPriceDownloadItem x2 = new XPriceDownloadItem("2", "1", "s","56", "56", "56", "56", "2012-12-12");
list.add(x1);
list.add(x2);
xPriceDownloadItemList.setDownloadItems(list);
String str = xStream.toXML(xPriceDownloadItemList);
System.out.println(str);
XPriceDownloadItemList x22 = (XPriceDownloadItemList) xStream.fromXML(str);
System.out.println(x22.getDownloadItems().size());
}
相關推薦
XStream轉換list、多個節點。
XML檔案如下: <MbfBody> <price> <cmmdtyCode>1</cmmdtyCode> <cityCode>1</cityCode> <sto
一、mongodb之單個例項、主從配置、多個節點
在大資料的時代,傳統的關係型資料庫要能更高的服務必須要解決高併發讀寫、海量資料高效儲存、高可擴充套件性和高可用性這些難題。不過就是因為這些問題Nosql誕生了。 NOSQL有這些優勢: · 大資料量,可以通過廉價伺服器儲存大量的資料,輕鬆擺脫傳統mysql單表儲存量級限制
有自己的程式碼--題目:給定一個數組,裡面全是正整數。數字大小表示這一步最多可以向後移動幾個節點。總是從陣列第一個元素開始移動。問如何移動,可以以最少步數移動到最後一個節點。
原文:https://yq.aliyun.com/articles/547799 描述: 題目:給定一個數組,裡面全是正整數。數字大小表示這一步最多可以向後移動幾個節點。總是從陣列第一個元素開始移動。問如何移動,可以以最少步數移動到最後一個節點。 例如:[3,4,2
uni-app 是一個使用 Vue.js 開發跨平臺應用的前端框架,開發者編寫一套程式碼,可編譯到iOS、Android、微信小程式等多個平臺。
uni-app 是一個使用 Vue.js 開發跨平臺應用的前端框架,開發者編寫一套程式碼,可編譯到iOS、Android、微信小程式等多個平臺。 uni-app在跨端數量、擴充套件能力、效能體
Python刪除list中多個相同元素
個人 err val pos 倒序 pan move 信息 style pop和remove方法都可以刪除list中的元素,個人更傾向於使用remove方法,因為在刪除過程中不會打印信息,安靜的把任務完成。 pop方法:刪除過程中會打印信息 >>>
sersync 多臺服務器、多個目錄的時時同步、備份
sersync sersync時時同步 同步軟件 一、為什麽要用Rsync+sersync架構?1、sersync是基於Inotify開發的,類似於Inotify-tools的工具2、sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個文件或某一個目錄的名字,然後使用r
Python全棧__函數的有用信息、帶參數的裝飾器、多個裝飾器裝飾一個函數
G1 lee 參數 sed 信息 back red cdc subclass 1、函數的有用信息 代碼1: 1 def login(username, password): 2 """ 3 此函數需要用戶名,密碼兩個參數,完成的是登
10-5裝飾器進階_帶參數的裝飾器、多個裝飾器裝飾同一個函數
image star 結果 一個 -- sta highlight 是否 bsp 帶參數的裝飾器 只用在裝飾器最外層嵌套一個即可,以達到輕易控制裝飾器函數是否執行的作用 import time flag = False def timmer_outer(flag):
寫氣泡排序可以排序多個字串。
//寫氣泡排序可以排序多個字串 #include <stdio.h> #include <string.h> void bubble_sort_str(char *str[], int sz) { int i = 0; int j = 0; for (i =
css基礎:樣式之定位、樣式之隱藏、二級選單、多個列表轉表格、圖片精靈技術
<html lang="en"><head> <meta charset="UTF-8"> <title>樣式之定位position</title> <style&g
單例的兩種實現方式、多個版本及利弊對照
單例設計模式,顧明思議,只有一個例項,先交代重要一點,為防止外界對該類進行例項化,需要把類的建構函式宣告為私有的,這樣大家對原理理解更深入些。 1、餓漢式 餓漢模式單例程式碼,經典,可用,無需改進。 package com.sing
AJAX+Servlet3.0實現非同步檔案上傳(單個檔案、多個檔案上傳、帶檔案的表單提交)
一、上傳單個檔案 1.JSP頁面程式碼 <%@ page language="java" contentType="text/html;
32、python繪製柱形圖、單個、多個、堆積、雙向柱形圖
目錄 一、繪圖函式 二、案例 第一、單個柱形圖 第二個、多個柱形圖 第三、堆積柱形圖 第四、雙向柱形圖 柱形圖:一種長方形的單位長度,根據資料大小回繪製的統計圖,用來比較兩個或以上的資料(時間或類別) 一、繪圖函式 bar(left,right,
手把手教你從原始碼開始搭建自己的以太坊公鏈(四)部署及連線多個節點
1. 使用相同的創世區塊檔案genesis.json 創世區塊genesis.json檔案內容如下: { "config": { "chainId": 100, "homestea
list中多個map的key相同的value相加
將多個map中key相同的value值相加合併成一個map 先將多個map放一個list中 result資料: [{"town":7,"district":6,"village":23}, {"town":7,"district":6,"village":23}
讓一個數組中存在N多個函式。讓每個函式執行的 時候自動加1
function test(){ var arr = [ ]; for (var i = 0; i < 10; i++) { (function(i){ arr[i] = function(){ console.log(i);
搭建多個節點的hadoop叢集環境(CDH)
提示:如果還不瞭解Hadoop的,可以下檢視這篇文章Hadoop生態系統,通過這篇文章,我們可以首先大致瞭解Hadoop及Hadoop的生態系統中的工具的使用場景。 搭建一個分散式的hadoop叢集環境,下面是詳細步驟,使用cdh5 。 一、硬體準備
時間的處理(一年、多個月、一個月、一天)
//時間格式化 Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(),
Unity shader教程-第三課:實踐!同一個shader,多個material。
更多更及時的文章請關於98教育 這節課我們開始利用我們學到的Properties知識來改動程式碼,用一個shader實現如下圖的幾個不同的球體: 步驟: 使用MonoDevelop開啟shader檔案保證Properties裡面是如下內容 _Emissi
Linux下佈置多個Tomcat,同時執行多個Tomcat。
轉載這個老哥的https://www.cnblogs.com/webcc/archive/2012/08/22/2651084.html扣號內是我自己操作時的一些問題和決解方法。環境說明:作業系統: RedHet 5.3JDK版本: 1.4.2WEB容器: Tomc