高技术就应当,每日弄点新东西。别人呕心沥血的开发了一些新技术,笨笨的我们至少也要学学人家的思想。
pom.xml
<dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.7.1</version> </dependency>
RequestXML.java
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import com.yada.util.RequestXML;
public class TestXml {
public static void main(String[] args) throws Exception {
create() ;
parse() ;
}
public static void create(){
String xmlStr;
RequestXML xml = new RequestXML();
xml.setUserName("6666");
xml.setRealName("555");
xml.setHeight(22.2);
xml.setWife("888");
try {
Serializer serializer = new Persister();
//输出流
OutputStream out = new ByteArrayOutputStream();
serializer.write(xml, out);
xmlStr = out.toString();
System. out.print(xmlStr);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void parse() throws Exception{
String xmlpath = "<requestXML wife='888' realName='555'> <userName>6666</userName> <height>22.2</height> </requestXML>";
Serializer serializer = new Persister();
RequestXML xml = new RequestXML() ;
serializer.read(xml, xmlpath);
System.out.println(xml);
}
}
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root
public class RequestXML {
@Element
private String userName;
@Attribute
private String wife;
@Attribute
private String realName;
@Element
private Double height;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getWife() {
return wife;
}
public void setWife(String wife) {
this.wife = wife;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public Double getHeight() {
return height;
}
public void setHeight(Double height) {
this.height = height;
}
public String toString() {
return "MyTestVo : [ userName = " + userName + " , wife = " + wife
+ " , realName = " + realName + " , height = " + height
+" ]";
}
}
序列化操作
TestXml.java
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import com.yada.util.RequestXML;
public class TestXml {
public static void main(String[] args) {
create() ;
parse() ;
}
public static void create(){
String xmlpath = "i:/1/simple_testvo.xml";
RequestXML xml = new RequestXML();
xml.setUserName("6666");
xml.setRealName("555");
xml.setHeight(22.2);
xml.setWife("888");
try {
Serializer serializer = new Persister();
File result = new File(xmlpath);
serializer.write(xml, result);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void parse(){
String xmlpath = "i:/1/simple_testvo.xml";
Serializer serializer = new Persister();
try {
InputStreamReader is = new InputStreamReader(new FileInputStream(
xmlpath), "utf-8");
RequestXML parseVo = serializer.read(RequestXML.class, is);
System.out.println(parseVo);
} catch (Exception e) {
e.printStackTrace();
}
}
}
字符串
参考 http://www.cnblogs.com/zivxiaowei/p/3605283.html