使用xstream實現對JavaBean與xml字串的互轉
近來專案中需要實現javabean與xml檔案的互轉,一個同事發現了xstream不錯。簡潔易用,不錯的開源元件,在這裡推薦一下。並附上使用示例與jar包作為筆記。有需要的同學可以學學。
1.Person javabean類
public class Person {
private String firstname;
private String lastname;
private PhoneNumber phone;
private PhoneNumber fax;
public Person() {
super();
}
public Person(String firstname, String lastname) {
super();
this.firstname = firstname;
this.lastname = lastname;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public PhoneNumber getPhone() {
return phone;
}
public void setPhone(PhoneNumber phone) {
this.phone = phone;
}
public PhoneNumber getFax() {
return fax;
}
public void setFax(PhoneNumber fax) {
this.fax = fax;
}
@Override
public String toString() {
return "Person [firstname=" + firstname + ", lastname=" + lastname
+ ", phone=" + phone + ", fax=" + fax + "]";
}
}
2.PhoneNumber javabean類
public class PhoneNumber {
private int code;
private String number;
public PhoneNumber() {
super();
}
public PhoneNumber(int code, String number) {
super();
this.code = code;
this.number = number;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public String toString() {
return "PhoneNumber [ code =" + code + ", number=" + number + "]";
}
3.轉換測試類
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
public class ConvertTest {
/**
* 將Person轉換成xml字串
*/
@Test
public void personToXML() {
XStream xstream = new XStream();
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);
Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
String xml = xstream.toXML(joe);
System.out.println(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字串轉換成Person
*/
@Test
public void xmlToPerson() {
String site = "CAN";
XStream xstream = new XStream();
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);
String 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>";
xstream.omitField(Person.class, site);
Person newJoe = (Person) xstream.fromXML(xml);
System.out.println(newJoe.toString());
}
//輸出結果
//Person [firstname=Joe, lastname=Walnes, phone=PhoneNumber [ code = 123, number=1234-456],
// fax=PhoneNumber [ code =123, number=9999-999]]
}
官網:http://xstream.codehaus.org/tutorial.html
參考網址:http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html
相關文章
- Java物件表示方式2:XStream實現對物件的XML化Java物件XML
- xStream完美轉換XML、JSONXMLJSON
- 用XML實現程式語言間的互譯 (轉)XML
- 元件使用總結:使用 JAXB 實現 XML檔案和java物件互轉元件XMLJava物件
- checkbox的name與JavaBean的互動時發現的一個現象JavaBean
- xml字串轉JSON字串XML字串JSON
- 使用javascript+xml實現分頁(轉)JavaScriptXML
- XStream實現xml和java物件之間的互相轉換(包括對屬性,別名,下劃線_的處理),同理JSON也可以XMLJava物件JSON
- Json物件與Json字串互轉JSON物件字串
- ios/oc中的結構體 與字串互轉iOS結構體字串
- 使用XML實現BBS(主題列表篇) (轉)XML
- 用javabean來實現MySQL的分頁顯示(轉)JavaBeanMySql
- 通過JDOM實現XML與String的相互轉換XML
- 使用Apache的Hex類實現Hex(16進位制字串和)和位元組陣列的互轉Apache字串陣列
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件
- json字串與Object、List、Map的互轉工具類JSON字串Object
- java 實現的XML schema 驗證(轉)JavaXML
- ADO資料與XML資料間的轉換的類(ASP實現) (轉)XML
- ajax與XML檔案互動XML
- Java與JavaScript 完美實現字串拆分(利用陣列儲存)與合併的互逆操作JavaScript字串陣列
- 【HTML與XML的對比】HTMLXML
- 使用XPathExpression類對XML進行排序 (轉)ExpressXML排序
- 關於XML字串和XML Document之間的轉換薦XML字串
- 利用VB實現對IE的呼叫與控制 (轉)
- php陣列轉xml的遞迴實現PHP陣列XML遞迴
- 基於XML的購物車的實現(轉)XML
- JDK6.0的新特性之二:使用JAXB2來實現物件與XML之間的對映JDK物件XML
- AS與.net的互動——載入web上的xmlWebXML
- JAVA中 XML與資料庫互轉 學習筆記三JavaXML資料庫筆記
- 實驗四 JavaBean及Servlet使用JavaBeanServlet
- PHP 實現字串翻轉(包含中文漢字)的實現PHP字串
- 分隔字串實現列轉行字串
- 使用redis實現互粉功能Redis
- Servlet實現、與html的簡單互動ServletHTML
- sqlserver 行列互轉實現小結SQLServer
- PHP不使用任何內建函式實現字串翻轉PHP函式字串
- XML與DataSet的相互轉換XML
- 在Word中實現表格的行列互換 (轉)