高技术就应当,每日弄点新东西。别人呕心沥血的开发了一些新技术,笨笨的我们至少也要学学人家的思想。
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