包裝混疊用于創(chuàng)建一個(gè)類XML的完全限定名稱的別名到一個(gè)新的限定名稱。再次修改我們的例子中并更改以下代碼。
xstream.alias("student", Student.class); xstream.alias("note", Note.class);修改為:
xstream.aliasPackage("my.company.xstream", "com.yiibai.xstream");
讓我們使用XStream測(cè)試上述對(duì)象序列化。
創(chuàng)建一個(gè)Java類名為 XStreamTester 文件在 C:\>XStream_WORKSPACE\com\yiibai\xstream.
File: XStreamTester.java
package com.yiibai.xstream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.List; import javax.xml.transform.OutputKeys; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.sax.SAXSource; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.stream.StreamResult; import org.xml.sax.InputSource; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.StaxDriver; public class XStreamTester { public static void main(String args[]){ XStreamTester tester = new XStreamTester(); XStream xstream = new XStream(new StaxDriver()); xstream.alias("student", Student.class); xstream.alias("note", Note.class); xstream.useAttributeFor(Student.class, "studentName"); xstream.aliasField("name", Student.class, "studentName"); xstream.addImplicitCollection(Student.class, "notes"); Student student = tester.getStudentDetails(); //Object to XML Conversion String xml = xstream.toXML(student); System.out.println(formatXml(xml)); } private Student getStudentDetails(){ Student student = new Student("Mahesh"); student.addNote(new Note("first","My first assignment.")); student.addNote(new Note("second","My Second assignment.")); return student; } public static String formatXml(String xml){ try上一篇:XStream混疊下一篇:XStream轉(zhuǎn)換器