项目中需要生成和解析XML的地方越来越多了。JAXB是把java和对象互转的一项标准技术,看看下面的例子,很容易上手的
package com.liba.link.paymentorder.action;
public class Bar {
private String age;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
package com.liba.link.paymentorder.action;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="test")
public class Foo {
private Bar b;
private String name;
public Bar getB() {
return b;
}
public void setB(Bar b) {
this.b = b;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.liba.link.paymentorder.action;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class JaxbTest {
public static void main(String[] args) {
try {
JAXBContext context = JAXBContext.newInstance(Foo.class);
Marshaller m = context.createMarshaller();
Foo foo = new Foo();
foo.setName("hello");
Bar b = new Bar();
b.setAge("566");
foo.setB(b);
StringWriter s = new StringWriter();
m.marshal(foo, s);
System.out.println(s);
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><test><b><age>566</age></b><name>hello</name></test>";
Foo newFoo = (Foo) JAXBContext.newInstance(Foo.class).createUnmarshaller().unmarshal(new StringReader(xml));
System.out.println(newFoo);
System.out.println(newFoo.getName());
System.out.println(newFoo.getB().getAge());
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
另外还在在classpath中导入4个jar包,hibernate-all.jar , jboss-embedded-all.jar, thirdparty-all.jar, jaxb-api.jar (2.1版本)就可以了
分享到:
相关推荐
Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...
在Java对象和XML之间的转换过程中,JAXB主要涉及到以下几个关键概念: 1. **Java类与XML Schema绑定**: JAXB使用`@XmlRootElement`和`@XmlElement`等注解将Java类的字段与XML元素对应。XML Schema定义了XML文档的...
Java Architecture for XML Binding (JAXB) 是一个Java标准,它提供了在Java对象和XML文档之间进行自动转换的能力。这项技术极大地简化了XML数据处理,使得开发者可以方便地将Java对象序列化为XML,或者从XML数据中...
在本文中,我们将讨论 Java 对象与 XML 之间的转换,特别是使用 Castor 进行 Java 对象与 XML 之间的转换。 Castor 是一个基于 Java 的开源工具,可以将 Java 对象转换为 XML,并将 XML 转换为 Java 对象。Castor ...
本代码主要是Java对象和Xml之间的转换实例代码,如果想具体指导代码是如何搭建的,可以参照http://blog.csdn.net/songdeitao/article/details/17304395这篇博文,这里的代码是和此对应的。
XStream是一款强大的Java库,主要用于将Java对象序列...在实际开发中,XStream的简单性和灵活性使其成为处理Java对象与XML数据之间转换的首选工具。通过合理配置和使用,可以极大地提高开发效率并简化数据处理流程。
将XML数据转换为Java对象,能够方便地在两者之间进行数据操作和处理。在这个过程中,XStream库扮演了关键角色。 XStream是一个强大的Java库,它可以将Java对象序列化为XML,同时也能将XML反序列化为等效的Java对象...
Java对象与XML之间的转换是Java开发中常见的需求,特别是在数据交换、配置文件存储或Web服务交互等场景。本文将深入探讨如何实现Java对象到XML以及XML到Java对象的转换。 首先,Java对象到XML的转换通常涉及到Java...
要将Java对象转换成XML并包含CDATA,我们可以利用如XStream这样的库。XStream是一个简单且功能强大的库,用于将Java对象转换为XML,反之亦然。在上述例子中,我们看到了一个自定义的实现过程,包括三个主要类:...
JAXB是Java SE的一部分,它提供了将Java对象直接转换为XML文档,以及从XML文档反序列化回Java对象的能力。首先,你需要为要转换的对象创建对应的Java类,并使用`@XmlRootElement`、`@XmlElement`等注解来指定XML...
5. **生成序列化和反序列化代码**:为了方便XML数据和Java对象之间的转换,工具还会生成解析XML和生成XML的代码,通常是基于JAXB(Java Architecture for XML Binding)或其他类似库。 除了XSD转Java,有些工具还...
总结来说,XStream 是一个强大且灵活的 Java 库,它简化了 Java 对象与 XML 数据之间的转换过程,提供了高度可定制的序列化和反序列化功能。通过合理利用它的特性,开发者可以在不牺牲代码可读性和可维护性的同时,...
而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...
"java转换xml、list、map和json" ...本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点,包括xml和map之间的转换、xml和list之间的转换、xml和json之间的转换、map和json之间的转换等。
虽然`XMLEncoder`和`XMLDecoder`提供了一种方便的方式来处理XML和Java对象之间的转换,但它们并不总是最佳选择。例如,它们可能无法处理复杂的对象结构或自定义的XML格式。在这些情况下,可能需要使用更强大的库,如...
在Web开发中,我们经常需要在前后端之间进行数据的交换,由于后端和前端使用的数据格式可能不同,这时候就需要实现数据格式的转换,尤其是在使用Java作为后端开发语言时,如何将Java对象转换为xml和json,以及如何将...
总结来说,这个压缩包提供的内容涉及了Java中使用JAXB进行XML与Java对象之间转换的实际应用,以及辅助的DTO和文件读取工具。这些对于理解和实现XML数据处理的Java应用非常有帮助。开发者可以通过学习和使用这些示例...
总结起来,JAXBContext是Java对象和XML之间转换的关键组件。通过创建JAXBContext实例,我们可以轻松地实现Java对象的XML序列化和反序列化。这个过程大大简化了XML数据的处理,提高了开发效率,尤其是在需要处理大量...
XStream库提供了一种简单且高效的方式来实现这种转换,它是一个Java库,可以将Java对象序列化为XML,也可以将XML反序列化为Java对象。这个实例将引导我们快速掌握XStream的使用。 首先,我们需要引入XStream库。...