xml文件转成bean
时间: 2024-06-12 09:07:21 浏览: 5
将XML文件转换成Java对象,即将XML文件中的数据映射到Java Bean中。可以使用Java内置的JAXB库或第三方库,如XStream。
使用JAXB库的步骤如下:
1. 创建Java类,即Java Bean,用于存储XML文件中的数据。
2. 创建XML Schema文件,定义XML文件的结构。
3. 使用JAXB Binding Compiler将XML Schema文件编译成Java类。
4. 使用JAXB Unmarshaller将XML文件解析成Java对象。
示例代码如下:
Java Bean类:
```java
@XmlRootElement(name = "student")
public class Student {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
@XmlAttribute
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
@XmlElement
public void setAge(int age) {
this.age = age;
}
}
```
XML文件:
```xml
<student id="1">
<name>Tom</name>
<age>18</age>
</student>
```
转换代码:
```java
File file = new File("student.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Student.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Student student = (Student) jaxbUnmarshaller.unmarshal(file);
```
使用XStream库的步骤如下:
1. 创建Java类,即Java Bean,用于存储XML文件中的数据。
2. 创建XStream对象。
3. 使用XStream的fromXML方法将XML文件解析成Java对象。
示例代码如下:
Java Bean类:
```java
public class Student {
private int id;
private String name;
private int age;
// getter and setter methods
}
```
XML文件:
```xml
<student>
<id>1</id>
<name>Tom</name>
<age>18</age>
</student>
```
转换代码:
```java
File file = new File("student.xml");
XStream xstream = new XStream();
xstream.alias("student", Student.class);
Student student = (Student) xstream.fromXML(file);
```