XStream兩分鐘教程 譯

2021-08-25 05:00:19 字數 2391 閱讀 1895

兩分鐘教程

這是乙個關於xstream快速的介紹。快速瀏覽一下你會馬上知道把乙個物件轉換到xml或是轉換回來是多麼的簡單。你肯定會碰到下面的問題。

建立能夠序列化的類

這是一組簡單的類。xstream能把這些類的例項轉換到xml或是轉換回來。

public

class

person  

public

class

phonenumber 

:注意到這些都是私有變數。xstream不關心變數的作用域。不需要getter或是setter方法。並且,xstream不限定需要預設的建構函式。

例項化xstream

使用xstream,簡單例項化xstream類:

xstream xstream 

=new

xstream(); 

你需要xstream-[version].jar and xpp3-[version].jar在classpath中。xpp3是乙個非常快的xml拉式轉換器工具。如果你不想包含這個依賴,你可以使用標準的jaxp dom轉換器來代替。

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

xstream xstream 

=new

xstream(

newdomdriver());

//不需要xpp3庫  注

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

xstream.alians(

"person

",person.

class

); 

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

序列號乙個物件到xml

讓我們建立乙個person的例項並且填充它的變數域:

person joe 

=new

person(

"joe",

"walnes

"); 

joe.setphone(

newphonenumber(

123,

"1234-456

")); 

joe.setfax(

newphonenumber(

123,

"9999-999

")); 

現在轉換到xml,你要做的是簡單的呼叫xstream:

string xml 

=xstream.toxml(joe); 

生成的xml看上去像這樣:

<

person

>

<

firstname

>

joefirstname

>

<

lastname

>

walnes

lastname

>

<

phone

>

<

code

>

123code

>

<

number

>

1234-456

number

>

phone

>

<

fax>

<

code

>

123code

>

<

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到物件;

XStream兩分鐘教程 譯

兩分鐘教程 這是乙個關於xstream快速的介紹。快速瀏覽一下你會馬上知道把乙個物件轉換到xml或是轉換回來是多麼的簡單。你肯定會碰到下面的問題。建立能夠序列化的類 這是一組簡單的類。xstream能把這些類的例項轉換到xml或是轉換回來。public class person public cla...

XStream兩分鐘教程 譯

兩分鐘教程 這是乙個關於xstream快速的介紹。快速瀏覽一下你會馬上知道把乙個物件轉換到xml或是轉換回來是多麼的簡單。你肯定會碰到下面的問題。建立能夠序列化的類 這是一組簡單的類。xstream能把這些類的例項轉換到xml或是轉換回來。public class person public cla...

兩分鐘安裝mysql

mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir e mysql mysql 8.0 11 winx64 設定mysql資料庫的資料的存放目錄 datadir ...