- 浏览: 555874 次
- 性别:
文章分类
- 全部博客 (337)
- WEB前端@HTML (4)
- WEB前端@CSS (5)
- WEB前端@javascript (31)
- WEB前端@DHTML (8)
- WEB前端@jQuery (3)
- WEB前端@Flex4 (19)
- WEB前端@BootStrap3 (21)
- 数据交换@JSON (1)
- 模板标签@JSTL (1)
- 模板标签@Thymeleaf (1)
- 模板标签@XSL-FO (3)
- WEB后台@JavaSE (75)
- WEB后台@JAX-WS (27)
- WEB后台@HttpClient (0)
- WEB后台@SSO (2)
- 框架@Spring3 (3)
- 框架@spring_MVC (8)
- 框架@Hibernate (26)
- 框架@play framework (18)
- 框架@sl4j (4)
- 数据库@ (2)
- 数据库@JDBC (0)
- 服务器@Linux (14)
- 服务器@Tomcat (2)
- 第三方jar@dom4j (1)
- 第三方jar@POI (2)
- 第三方jar@CXF (5)
- 项目管理@Maven (22)
- 项目管理@SVN (1)
- 缓存管理@ehcache (1)
- 系统设计@设计模式 (10)
- 单元测试@JunitTest (1)
- 开发工具 (3)
- BUG收录 (1)
- 学习之路 (6)
- 面试之道 (1)
- 我的项目 (2)
最新评论
-
superich2008:
logback配置文件的改动会导致应用重新加载,多改动几次后就 ...
Chapter 3: Logback configuration -
chenzhihui:
不是可以在log4j中配置以控制台或者文件方式保存日志的?
play记录日志 -
smilease:
很棒,正缺这个,非常感谢
bootstrap3-typeahead 自动补全 -
guangling13345:
[size=x-small][/size]
二级联动菜单 -
jacksondesign:
有,和YAML的格式有关,不知道有没有什么好的YAML格式的验 ...
(四)play之yabe项目【页面】
SAX 处理超大xml时使用
dom4j 通过xpath来解析非常方便,适合处理较小的xml
Xstream--->Stax 基于流的方式处理
Xstream,Jackson 可以将json与java进行转换
JAXB java表中API,专门负责java与xml的互转
java--->xml:marshaller
xml--->java:unmarshaller
JAVB完成对象与XML的互转
package com.hqh.jaxb; public class Classroom { private int id; private String name; private int grad; public Classroom() { super(); } public Classroom(int id, String name, int grad) { super(); this.id = id; this.name = name; this.grad = grad; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGrad() { return grad; } public void setGrad(int grad) { this.grad = grad; } }
package com.hqh.jaxb; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Student { private int id; private String name; private int age; private String sex; private Classroom classroom; public Student() { super(); } public Student(int id, String name, int age, String sex, Classroom classroom) { super(); this.id = id; this.name = name; this.age = age; this.sex = sex; this.classroom = classroom; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Classroom getClassroom() { return classroom; } public void setClassroom(Classroom classroom) { this.classroom = classroom; } }
package com.hqh.jaxb; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import org.junit.Test; public class JAXBTest { /**Object--->XML*/ @Test public void testMarshaller() throws Exception { //对象 //要使用JAXB转换对象为xml,需要在对应的类上使用@XmlRootElement进行标注 Classroom classroom = new Classroom(1, "一班", 2013); Student jaxbElement = new Student(1, "张三", 22, "男", classroom); //将student对象转为xml JAXBContext ctx = JAXBContext.newInstance(Student.class); Marshaller marshaller = ctx.createMarshaller(); //将转换后的xml作为标准打印流输出 marshaller.marshal(jaxbElement, System.out); //将转换后的xml以文件形式输出 File file = new File("src/student.xml"); if(!file.exists()) { file.createNewFile(); } marshaller.marshal(jaxbElement, new FileOutputStream(file, false)); } /**XML--->Object*/ @Test public void testUnMarshaller() throws Exception { //XML InputStream is = this.getClass().getClassLoader().getResourceAsStream("student.xml"); //将student对象转为xml转为student对象 JAXBContext ctx = JAXBContext.newInstance(Student.class); Unmarshaller unmarshaller = ctx.createUnmarshaller(); Object obj = unmarshaller.unmarshal(is); Student stu = (Student)obj; System.out.println(stu.getName()+","+stu.getClassroom().getName()); } }
将Student对象转换为xml的结果,很方便
如果存在中文转换,将项目的编码设置为UTF-8,不然中文为乱码
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <student> <age>22</age> <classroom> <grad>2013</grad> <id>1</id> <name>一班</name> </classroom> <id>1</id> <name>张三</name> <sex>男</sex> </student>
发表评论
-
实际应用-使用xsd定义Model对象
2014-02-27 02:24 1316使用schema定义Model 好 ... -
XJC 将schema转换为java类
2013-08-28 09:55 1855使用xjc(xml java change)将schema转 ... -
Webservice中获取Servlet的相关对象
2013-08-15 17:44 2884第一种方式: 通过注入WebServiceContex ... -
JAX与spring的无缝集成---增加Handler和Exception(二)
2013-08-15 16:00 1998客户端也使用spring集成JAX-WS。但是有一个问题需 ... -
Exception处理:服务端返回对象与客户端类型不一致XXX cannot be cast to XXX
2013-08-15 13:52 2613描述: 服务端向客户端返回数据时,发生类型转 ... -
JAX与spring的无缝集成(一)
2013-08-13 13:45 6625JAX-WS与spring集成有几 ... -
使用契约优先---重要注意事项
2013-08-11 22:23 1015使用契约优先编写schema和wsdl文件时,一般都是在ws ... -
通过HEADER传递信息-做权限控制
2013-08-08 18:11 2023通过HEADER而不是BODY传递“LICENSE” ... -
webservice传递二进制数据(文件)
2013-08-08 16:14 2299将二进制数据放到Attachment中进行传递,而不是放到 ... -
发布webservice到tomcat
2013-08-07 09:39 3052目标: 基于契约优先的webservice功能开发 ... -
基于契约优先的隐式头信息处理
2013-08-03 20:05 1230<?xml version="1.0&qu ... -
基于契约优先来编写webservice
2013-08-03 18:40 1221开发流程: 1.先写schema ... -
通过Handler添加HEADER
2013-08-03 14:05 2045LogicHandler 只能获取SOAPBody的信息 ... -
SOAP异常处理
2013-08-03 14:00 1009接口 package com.hqh.soap; imp ... -
深入SOAP发送消息的过程(SAAJ)
2013-07-28 18:54 2104SOAP结构体 SOAPMessage SOAPPa ... -
使用Transformer更新XML
2013-07-27 14:46 2783package com.hqh.stax; impo ... -
使用XMLStreamWriter写XML
2013-07-27 14:10 4027package com.hqh.stax; im ... -
使用java提供的XPATH处理xml
2013-07-27 13:10 981books.xml <?xml version=&q ... -
使用Stax处理XML
2013-07-27 10:57 1284java提供的XML处理 Stax处 ... -
XML_Schema
2013-07-22 16:27 1372Schema的好处 schema出现的目的:通过一个更加合理的 ...
相关推荐
使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...
Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...
总之,JAXB是Java开发中处理XML的强大工具,通过它可以高效地进行XML与Java对象之间的转换,简化了数据交换过程。熟练掌握JAXB的使用,能大大提高开发效率,并让代码更加简洁、易于维护。在实际项目中,可以结合标签...
该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用...
在Java世界中,使用JAXB(Java Architecture for XML Binding)库可以方便地实现XML数据与Java对象之间的转换,从而在WebService中轻松处理数据交换。本篇文章将深入探讨如何使用JAXB进行XML到Object以及Object到XML...
在本文中,我们将深入探讨如何使用JAXB实现Java对象与XML的互相转换。 首先,我们需要理解JAXB的基本工作原理。JAXB基于Java注解,这些注解用于标记Java类和它们的属性,以便JAXB知道哪些元素和属性应该映射到XML中...
一旦定义了这种映射,JAXB就能自动完成XML的序列化(将Java对象转换为XML)和反序列化(将XML转换为Java对象)。 **JAXB的使用流程** 1. **创建Java模型类**: 首先,我们需要创建一个或多个Java类,这些类将代表...
在Java开发中,JAXB(Java Architecture for XML Binding)是一个标准的API,用于将XML文档与Java对象之间进行互相转换。这个技术对于处理XML数据,尤其是解析和生成XML文档非常有用。当我们面临XML文档中存在嵌套子...
总结来说,这个压缩包提供的内容涉及了Java中使用JAXB进行XML与Java对象之间转换的实际应用,以及辅助的DTO和文件读取工具。这些对于理解和实现XML数据处理的Java应用非常有帮助。开发者可以通过学习和使用这些示例...
JAXB是Java标准API,它提供了将XML文档与Java对象之间进行自动转换的能力,极大地简化了XML的处理。 首先,我们需要理解JAXB的工作原理。JAXB基于Java反射机制,通过在Java类上使用特定的注解(如@XmlRootElement、...
5. **Marshalling**:使用Marshaller对象的`marshal()`方法,将Java对象转换成XML字符串或写入XML文件。 ### 示例代码 ```java import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind....
此外,还可以使用第三方库如Apache Commons Digester或Castor来完成XML与Java对象的转化,它们提供了更灵活的配置和更强大的功能。 总结,这个示例项目主要教授了如何在Java中使用JAXB进行XML与Java对象的互转,这...
例如,一个Web服务可能接收XML请求,然后使用JAXB将其转换为Java对象进行处理,最后再将结果转换为XML响应。 **五、示例代码** ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; ...
当我们有一个Java对象,并希望将其转换成XML格式时,JAXB会使用已有的Java类和XML Schema信息来生成符合Schema规范的XML文档。这个过程可以通过调用`JAXBContext`的`createMarshaller()`方法创建一个marshaller对象...
JAXB (Java Architecture for XML Binding) 是 Java 中用于对象到XML以及XML到对象转换的API。它使得开发者能够轻松地将Java对象模型映射到XML文档,并反之亦然。在给定的例子中,我们将深入理解如何使用JAXB注解来...
Java Architecture for XML Binding (JAXB) 是Java平台上的一个标准技术,用于在Java对象和XML文档之间进行数据绑定。它允许开发人员通过简单的注解(annotations)将Java类与XML Schema映射,从而实现XML文档的序列...
源码部分展示了如何通过注解将XML结构与Java对象对应起来,以及如何使用JAXB API进行解析和反序列化。 **文件名:“bjeoms_exceltool”** 虽然提供的文件名“bjeoms_exceltool”与标题和描述中的JAXB解析XML主题不...
3. **序列化(Marshalling)**:相反,当需要将Java对象转换为XML文档时,JAXB使用Marshaller接口将Java对象转换为XML格式。这个过程是将Java对象"序列化"为XML字符串或写入XML文件。 **使用JAXB的关键步骤:** 1....
Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准技术。它允许我们将XML文档转换为Java对象,反之亦然,这样就能方便地在XML和Java应用程序之间交换数据。在Java SE...