将对象保存为XML格式

1.首先创建一个Customer对象;(Customer.java)

2.其次用Customer对象生成XML文件(Object2XmlDemo.java)

3.生成出来的文件格式;

package per.tag;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * 将对象转化为Xml格式保存
 */
@XmlRootElement
public class Customer {

int id;
int age;
String[] names;
public Customer(){
}

public Customer(int id, int age, String[] names) {
super();
this.id = id;
this.age = age;
this.names = names;
}

//注意这两个标签的使用
@XmlElementWrapper(name="allnames")
@XmlElement(name="myname")

public String[] getNames() {
return names;
}
public void setNames(String[] names) {
this.names = names;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public String toString() {
return "Customer [id = " + id + ",names = " + names + ",age = " + age + "]";
}

}

//转换的文件

package per.tag;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;

public class Object2XmlDemo {

public static void main(String[] args) throws Exception {

String[] string = {"test","zhangsan"};
Customer custom = new Customer(1,25,string);

File file = new File("d:\\customer.xml");

JAXBContext context = JAXBContext.newInstance(Customer.class);
Marshaller shaller = context.createMarshaller();

shaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);

shaller.marshal(custom, file);  //输出到文件d:\\customer.xml
shaller.marshal(custom, System.out);//输出到控制台

}
}

转换出来的文件如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer>
    <age>25</age>
    <id>1</id>
    <allnames>
        <myname>test</myname>
        <myname>zhangsan</myname>
    </allnames>

</customer>


猜你喜欢

转载自blog.csdn.net/qq_30718137/article/details/80540714
今日推荐