java对象转xml 红太狼 2022-07-16 01:41 156阅读 0赞 实体类: package com.test; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name="Student") @XmlType(propOrder = \{"id","name", "age", "sex", "classes"\}) public class Student \{ private int id=10021; private String name="张三"; private String age="18"; private String sex="男"; private String classes="三年级"; public int getId() \{ return id; \} public void setId(int id) \{ this.id = id; \} public String getName() \{ return name; \} public void setName(String name) \{ this.name = name; \} public String getAge() \{ return age; \} public void setAge(String age) \{ this.age = age; \} public String getSex() \{ return sex; \} public void setSex(String sex) \{ this.sex = sex; \} public String getClasses() \{ return classes; \} public void setClasses(String classes) \{ this.classes = classes; \} \} 测试方法 public static void main(String\[\] args) \{ Writer writer=null; String xml ; Student stu=new Student(); try \{ JAXBContext context = JAXBContext.newInstance(stu.getClass()); Marshaller marshaller = context.createMarshaller(); // 编码格式 marshaller.setProperty(Marshaller.JAXB\_ENCODING, "UTF-8"); // 是否格式化生成的xml串 marshaller.setProperty(Marshaller.JAXB\_FORMATTED\_OUTPUT, true); // 是否省略xml头信息 marshaller.setProperty(Marshaller.JAXB\_FRAGMENT, true); writer = new StringWriter(); marshaller.marshal(stu, writer); xml = writer.toString(); System.out.println(xml); writer.flush(); \} catch (Exception e) \{ e.printStackTrace(); \} \} 输出结果: <Student> <id>10021</id> <name>张三</name> <age>18</age> <sex>男</sex> <classes>三年级</classes> </Student>
还没有评论,来说两句吧...