实体类:

 package xml;

 import javax.xml.bind.annotation.XmlRootElement;

 @XmlRootElement
public class User {
String name;
String english_name;
String age;
String sex;
String address;
String description;
public User(){} public User(String name, String english_name, String age, String sex,
String address, String description) {
this.name=name;
this.english_name=english_name;
this.age=age;
this.sex=sex;
this.address=address;
this.description=description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEnglish_name() {
return english_name;
}
public void setEnglish_name(String english_name) {
this.english_name = english_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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
} }

一.java对象转化成xml文件

 package xml;

 import java.io.File;

 import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller; /**
* 将类映射成xml
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) {
//创建xml对象,将他保存在指定位置
File file = new File("D:\\javaItem\\xml\\src\\xml\\1.xml");
//申明一个JAXBContext对象
JAXBContext jaxbContext;
try {
//指定映射的类,创建JAXBContext对象的上下文
jaxbContext = JAXBContext.newInstance(User.class);
//创建转化对象Marshaller
Marshaller m = jaxbContext.createMarshaller();
//创建xml文件中的数据
User user = new User("张三", "zhangsnan", "30", "男", "安徽合肥", "软件工程师");
//将Java类中的User对象转化到XML
m.marshal(user, file);
System.out.println("转化完成");
} catch (JAXBException e) {
e.printStackTrace();
}
}
}

二.xml文件转化为java对象

 package xml;

 import java.io.File;

 import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller; public class Demo2 {
public static void main(String[] args) {
File file=new File("D:\\javaItem\\xml\\src\\xml\\1.xml");
JAXBContext jaxbContext;
try {
jaxbContext=JAXBContext.newInstance(User.class);
Unmarshaller u=jaxbContext.createUnmarshaller();
User user=(User)u.unmarshal(file);
System.out.println("姓名:"+user.getName());
System.out.println("英文名字:"+user.getEnglish_name());
System.out.println("年龄:"+user.getAge());
System.out.println("性别:"+user.getSex());
System.out.println("地址:"+user.getAddress());
System.out.println("描述:"+user.getDescription());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}

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

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

    using System; using System.Xml; using System.Xml.Serialization; using System.IO; namespace LOTool { ...

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

    /** * 将一个 JavaBean 对象转化为一个  Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的  Map 对象 * @throws Intr ...

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

    link: http://blog.okbase.net/haobao/archive/62.html by: 好饱 我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlU ...

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

    我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Ge ...

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

    我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  6. java中的几种实体类对象(PO,VO,DAO,BO,POJO)

    一.PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象.使用Hibernate来生成PO是不错的选择. 二.VO :(value object) ...

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

    接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方 ...

  8. Java实体类之间的映射(一对多关系)

    通过栗子,一个人可以有多辆汽车 定义人   这个类 人可以有很多辆汽车,类中车属性用数组 class Person{ private String name; private String phone ...

  9. 用C#实现XML和实体类之间序列化和反序列化相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

随机推荐

  1. java生态环境

    Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...

  2. openssh

    http://www.openssh.com/ OpenSSH is a FREE version of the SSH connectivity tools that technical users ...

  3. linux下文件合并、分割、去重

    1.文件合并 1.1文件上下合并 cat f1 f2> muti  (将文件f1.f2合并成文件muti,f1在上,f2在下) 1.2左右合并 paste f1 f2 > muti  (将 ...

  4. REG_SZ和REG_EXPAND_SZ的区别

    REG_SZ类型的键值中存在的可扩展占位符%xxx%不会被系统解释: REG_EXPAND_SZ类型的键值中存在的%xxx%的部分会被系统解释.

  5. HBase(七): HBase体系结构剖析(下)

    目录: write Compaction splite read Write: 当客户端发起一个Put请求时,首先根据RowKey寻址,从hbase:meta表中查出该Put数据最终需要去的HRegi ...

  6. 在程序中使用gettid()的方法

    gettid()这个函数不可以在程序中直接使用,它是linux本身的一个函数,直接使用会出现,尚未声明之类的错误. 我们可以自已定义实现方法,如下: #include <sys/syscall. ...

  7. Python基础教程【读书笔记】 - 2016/7/4

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第二波:第7章  更加抽象 [总览] 创建自己的对象,是Python的核心概念!Python被称为面向对象的语言.介绍如 ...

  8. [vim]VIM快捷键整理

    转自:http://blog.csdn.net/ceven2010/article/details/7406341#comments 一.移动光标 1.左移h.右移l.下移j.上移k 2.向下翻页ct ...

  9. C#中判断子窗体是否存在

    可在父窗体中定义一个全局变量 public static Form form; 然后在秀出子窗体的点击事件中增加加下代码 if (form == null) { //窗体不存在时,实例化子窗体,并显示 ...

  10. 黄聪:利用Aspose.Word控件实现Word文档的操作(转)

    撰写人:伍华聪  http://www.iqidi.com  Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...