`

Java对象 XML 互转

    博客分类:
  • java
 
阅读更多
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person personName="xiongjiajia">
	<personAge>24</personAge>
	<address>Zhengzhou</address>
	<skills id="1">
		<name>Java</name>
		<level>4</level>
	</skills>
	<skills id="2">
		<name>Linux</name>
		<level>3</level>
	</skills>
</person>

Person.java
import java.util.List;

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

@XmlRootElement
public class Person {

	@XmlAttribute
	private String personName;
	@XmlElement
	private int personAge;
	@XmlElement
	private String address;
	@XmlElement
	private List<Skill> skills;
	//只需要GET方法
	public String getPersonName() {
		return personName;
	}
	public int getPersonAge() {
		return personAge;
	}
	public String getAddress() {
		return address;
	}
	public List<Skill> getSkills() {
		return skills;
	}
	
	public Person(){}
	public Person(String personName, int personAge,
			String address,List<Skill> skills) {
		super();
		this.personName = personName;
		this.personAge = personAge;
		this.address=address;
		this.skills=skills;
	}
}

Skill
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;


public class Skill {

	@XmlAttribute
	private int id;
	@XmlElement
	private String name;
	@XmlElement
	private int level;
	public int getId() {
		return id;
	}
	public String getName() {
		return name;
	}
	public int getLevel() {
		return level;
	}
	public Skill(){}
	public Skill(int id, String name,int level) {
		super();
		this.id = id;
		this.name = name;
		this.level=level;
	}
}

JavaToXml.java
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class JavaToXml {

	/**
	 * @param args
	 * @throws JAXBException
	 * @throws IOException
	 */
	public static void main(String[] args) throws JAXBException, IOException {
		// TODO Auto-generated method stub

		JAXBContext context = JAXBContext.newInstance(Person.class);
		Marshaller m = context.createMarshaller();
		List<Skill> skills = new ArrayList<Skill>();
		skills.add(new Skill(1, "Java", 4));
		skills.add(new Skill(2, "Linux", 3));
		Person p = new Person("xiongjiajia", 24, "Zhengzhou", skills);
		FileWriter fw = new FileWriter("E:\\person.xml");
		m.marshal(p, fw);
		System.out.println("success!");
	}
}

XmlToJava
import java.io.FileNotFoundException;
import java.io.FileReader;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class XmlToJava {

	/**
	 * @param args
	 * @throws JAXBException
	 * @throws FileNotFoundException
	 */
	public static void main(String[] args) throws JAXBException,
			FileNotFoundException {
		// TODO Auto-generated method stub

		JAXBContext context = JAXBContext.newInstance(Person.class);
		FileReader fr = new FileReader("E:\\person.xml");
		Unmarshaller um = context.createUnmarshaller();
		Person p = (Person) um.unmarshal(fr);
		System.out.println(p.getAddress());
		System.out.println(p.getSkills().get(1).getName());
		System.out.println("success!");
	}
}
分享到:
评论

相关推荐

    JAVA对象与XML互转

    本篇将详细探讨这个主题,讲解如何使用Java进行XML与对象的互转。 一、Java对象转XML 1. **JAXB**(Java Architecture for XML Binding):这是Java标准API,用于将Java对象映射到XML文档,反之亦然。使用JAXB,我们...

    java list和xml互转例子

    本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...

    xml和java对象互转

    总结来说,"xml和java对象互转"涉及使用如XStream这样的库来方便地在XML和Java对象之间进行数据转换,这对于在Java应用程序中处理和交换XML数据是至关重要的。通过理解这个过程,开发者可以更高效地管理数据,并实现...

    JAXB完成XML和Java对象的互转

    该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用...

    java xml和map互转

    总结,使用DOM4J库,我们可以方便地在Java中实现XML与Map之间的互转。这不仅适用于简单的键值对,还支持嵌套结构、属性以及有无根节点的情况。在实际项目中,可以根据具体需求对这些方法进行适当的调整和优化。

    使用json-lib实现json与Java对象的互转

    要使用 `json-lib` 实现 JSON 与 Java 对象的互转,首先需要在项目中引入该库。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加如下依赖: ```xml &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib...

    xml报文和java对象互相转换 相关jar包和测试代码

    xml报文和java对象互相转换 相关jar包和测试代码,可以与castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具1.2(https://download.csdn.net/download/kemoing/10864595)完美配合使用

    Java与xml互转

    Java与XML互转是软件开发中常见的数据交换方式,特别是在集成不同系统或者处理配置文件时。XML因其结构化的特性,可以很好地表示复杂的数据结构。在Java中,通过使用Java Architecture for XML Binding (JAXB) 框架...

    JAVA对象与XML相互转化DEMO

    本示例"JAVA对象与XML相互转化DEMO"聚焦于如何在Java中实现对象与XML之间的互转,这对于理解和处理数据交换至关重要。 首先,Java中实现XML到对象的转换主要依赖于JAXB(Java Architecture for XML Binding)。JAXB...

    castor :Java与xml互转示例---代码

    本文将深入探讨如何使用Castor在Java和XML之间进行互转,并通过代码示例来阐述其工作原理。 ### 1. Castor简介 Castor是基于Java的,它通过生成Java类来解析XML文档,或者将Java对象转换为XML。它的核心功能包括:...

    XML和类对象互转 (java) 并含有测试例子

    3. **JAXB**:JAXB是Java标准,用于在Java对象和XML之间进行自动转换。它提供了一种直观且高效的方式来绑定XML Schema到Java类,使得XML的序列化和反序列化变得非常简单。 对于Java类对象到XML的转换,JAXB是首选的...

    JavaXml及Bean互转

    在Java开发中,XML(eXtensible Markup Language)常被用作数据交换格式,而Bean则代表Java对象。将Java Bean与XML进行互转是常见的需求,这有助于在不同系统间传递数据或者持久化对象状态。本篇将详细介绍两种常用...

    java对象与xml的互相转换

    Java对象与XML之间的转换是Java开发中常见的需求,特别是在数据交换、配置文件存储或Web服务交互等场景。本文将深入探讨如何实现Java对象到XML以及XML到Java对象的转换。 首先,Java对象到XML的转换通常涉及到Java...

    Java对象与xml转换

    Jackson的`jackson-dataformat-xml`模块和Gson的`gson-to-xml`库可以实现XML与Java对象的互转。 7. XMLBeans: - Apache的XMLBeans库提供了另一种Java对象到XML的映射方式,通过生成与XML schema对应的Java类,...

    Marshaller实现Java对象与xml的互转

    Marshaller来实现Java对象与xml的互转的源代码,这是博文中用到的源码,地址:http://blog.csdn.net/y353027520dx/article/details/43446549 大家可以直接下载后运行,一起学习学习。。

    xml和java对象互相转换的两种方法

    在IT行业中,XML(eXtensible Markup Language)和Java对象之间的互转是常见的操作,尤其是在数据交换、配置文件处理和序列化等场景。本文将详细介绍两种主要的XML与Java对象互相转换的方法:DOM(Document Object ...

    java XML和对象的互转

    首先,我们需要解析XML文件到Document对象,然后可以遍历这个对象,将XML数据映射到Java对象。例如: ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder =...

    好用的xStream XML和JAVA对象互相转换的简单示例

    XStream是一个轻量级、高性能的库,能够将Java对象序列化为XML,同时也能将XML反序列化回Java对象,实现XML和Java对象的互相转换。 首先,我们需要引入XStream库。在给定的描述中提到了两个依赖文件:xstream-1.3.1...

    json_xml互转jar

    "json_xml互转jar"指的是一个Java应用程序或库,能够实现JSON和XML之间的相互转换。Java Archive (JAR) 文件是Java平台特有的归档格式,它可以包含类文件、资源文件以及其他必要的组件,便于分发和执行。在这个场景...

    利用JAXB进行xml和javabean之间转换

    而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...

Global site tag (gtag.js) - Google Analytics