java中的xml与实体类之间的映射

实体类:

 1 package xml;
 2
 3 import javax.xml.bind.annotation.XmlRootElement;
 4
 5 @XmlRootElement
 6 public class User {
 7     String name;
 8     String english_name;
 9     String age;
10     String sex;
11     String address;
12     String description;
13     public User(){}
14
15     public User(String name, String english_name, String age, String sex,
16             String address, String description) {
17         this.name=name;
18         this.english_name=english_name;
19         this.age=age;
20         this.sex=sex;
21         this.address=address;
22         this.description=description;
23     }
24     public String getName() {
25         return name;
26     }
27     public void setName(String name) {
28         this.name = name;
29     }
30     public String getEnglish_name() {
31         return english_name;
32     }
33     public void setEnglish_name(String english_name) {
34         this.english_name = english_name;
35     }
36     public String getAge() {
37         return age;
38     }
39     public void setAge(String age) {
40         this.age = age;
41     }
42     public String getSex() {
43         return sex;
44     }
45     public void setSex(String sex) {
46         this.sex = sex;
47     }
48     public String getAddress() {
49         return address;
50     }
51     public void setAddress(String address) {
52         this.address = address;
53     }
54     public String getDescription() {
55         return description;
56     }
57     public void setDescription(String description) {
58         this.description = description;
59     }
60
61
62
63 }

一.java对象转化成xml文件

 1 package xml;
 2
 3 import java.io.File;
 4
 5 import javax.xml.bind.JAXBContext;
 6 import javax.xml.bind.JAXBException;
 7 import javax.xml.bind.Marshaller;
 8
 9 /**
10  * 将类映射成xml
11  * @author Administrator
12  *
13  */
14 public class Demo1 {
15     public static void main(String[] args) {
16         //创建xml对象,将他保存在指定位置
17         File file = new File("D:\\javaItem\\xml\\src\\xml\\1.xml");
18         //申明一个JAXBContext对象
19         JAXBContext jaxbContext;
20         try {
21             //指定映射的类,创建JAXBContext对象的上下文
22             jaxbContext = JAXBContext.newInstance(User.class);
23             //创建转化对象Marshaller
24             Marshaller m = jaxbContext.createMarshaller();
25             //创建xml文件中的数据
26             User user = new User("张三", "zhangsnan", "30", "男", "安徽合肥", "软件工程师");
27             //将Java类中的User对象转化到XML
28             m.marshal(user, file);
29             System.out.println("转化完成");
30         } catch (JAXBException e) {
31             e.printStackTrace();
32         }
33     }
34 }

二.xml文件转化为java对象

 1 package xml;
 2
 3 import java.io.File;
 4
 5 import javax.xml.bind.JAXBContext;
 6 import javax.xml.bind.JAXBException;
 7 import javax.xml.bind.Unmarshaller;
 8
 9
10
11 public class Demo2 {
12     public static void main(String[] args) {
13         File file=new File("D:\\javaItem\\xml\\src\\xml\\1.xml");
14         JAXBContext jaxbContext;
15         try {
16             jaxbContext=JAXBContext.newInstance(User.class);
17             Unmarshaller u=jaxbContext.createUnmarshaller();
18             User user=(User)u.unmarshal(file);
19             System.out.println("姓名:"+user.getName());
20             System.out.println("英文名字:"+user.getEnglish_name());
21             System.out.println("年龄:"+user.getAge());
22             System.out.println("性别:"+user.getSex());
23             System.out.println("地址:"+user.getAddress());
24             System.out.println("描述:"+user.getDescription());
25         } catch (JAXBException e) {
26             e.printStackTrace();
27         }
28     }
29 }
时间: 2024-10-03 23:09:33

java中的xml与实体类之间的映射的相关文章

[Unity]C#中 将XML和实体类之间进行相互转换的工具类

using System; using System.Xml; using System.Xml.Serialization; using System.IO; namespace LOTool { public class LO_XMLTool { #region 反序列化 /// <summary> /// 反序列化 /// </summary> /// <param name="type">类型</param> /// <pa

Java 中 Map与JavaBean实体类之间的相互转化

在做导入的时候,遇到了需要将map对象转化 成javabean的问题,也就是说,不清楚javabean的内部字段排列,只知道map的 key代表javabean的字段名,value代表值. 那现在就需要用转化工具了.是通用的哦! 首先来看 JavaBean 转化成Map的方法: /** * 将一个 JavaBean 对象转化为一个 Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的 Map 对象 * @throws IntrospectionExc

XML和实体类之间相互转换(序列化和反序列化)

我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

C# XML和实体类之间相互转换(序列化和反序列化)

我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data; using System.Xml; using System.Xml.Serialization; /// <summary> ///

c# XML和实体类之间相互转换(序列化和反序列化)[砖]

link: http://blog.okbase.net/haobao/archive/62.html by: 好饱 我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Java中接口与接口和类之间的关系

接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方法,必须要加default关键字3.如果多个父接口中有同名的静态方法,那么无须理会,因为静态方法只能供接口使用 4.如果多个父接口中有同名的私有方法,那么无须理会,因为私有方法只能本接口使用 接口和类之间的关系 实现关系 单实现: 一个类只实现一个接口 多实现: 一个类可以同时实现多个接口 格式:

JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法

原文:JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法 在Spring 集成 Hibernate 的JPA方式中,需要在persistence配置文件中定义每一个实体类,这样非常地不方便,远哥目前找到了2种方法. 这2种方式都可以实现不用persistence.xml文件,免去每个Entity都要在persistence.xml文件中配置的烦恼,但是这种方式Entity实体类的主键字段注解@ID要放到 getXXX()方法上,否则不认. 方式1: 修改

java 项目中几种O实体类的概念

经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应于数据库中存储的数据(数据表),dto对应于除二者之外需要进行传递的数据. 一.实体类 百度百科中对于实体类的定义如下: 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关. 根据以上定义,我们可以了解到,实体类有两方面内容,存储

如何由XSD自动生成XML和实体类

项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后自动读入实体类使用. 定义XSD的过程就是类似设计表结构的过程,二者也可以相互转化. 本文讨论了如何定义XSD文件(XML Schema),然后自动生成实体类,最后生成XML的过程,以及如何根据XSD验证XML文件的合法性.以供大家做项目时参考. 1. 首先在VS2005中添加一个XSD文件.例子X