最近在做的项目,在各个平台之间需要大量传输数据,且结构比较复杂,同时需要接近完全的配置化。
所以:想着各个系统之间,使用java bean来填充值,然后,转成xml进行传输,在服务器端再进行将xml转换成java bean,来处理的方式。
/** * xml 与 java bean 相互转换 单元 测试 * @author zhaoguoli * @version v1.0 2013-2-4 create */ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.nuxeo.common.xmap.XMap; public class XmapTest { @Test public void javaToXml(){ try { //声明一组书的根节点 Books books=new Books(); Book book=new Book(); //书的类型 List<String> sj=new ArrayList<String>(); sj.add("java"); sj.add("xml"); //设置书节点的属性 book.setPrice(10); book.setTitle("java程序设计"); book.setSubjects(sj); book.setNo("1"); //将书节点添加到跟节点 books.addBook(book); Book book2=new Book(); //书的类型 List<String> sj2=new ArrayList<String>(); sj2.add("C++"); sj2.add("c"); //设置书节点的属性 book2.setPrice(10); book2.setTitle("c++程序设计"); book2.setSubjects(sj2); book2.setNo("2"); //将书节点添加到跟节点 books.addBook(book2); XMap xmp = new XMap(); xmp.register(Books.class); System.out.println(xmp.toXML(books)); } catch (Exception e) { e.printStackTrace(); } } @Test public void xmlToJava() throws Exception{ XMap xmap = new XMap(); xmap.register(Books.class); InputStream in = new FileInputStream(new File("G:\\ers\\xxt_ers\\WEB-INF\\src\\cn\\xxt\\xmlbean\\books.xml")); Object result = xmap.load(in); System.out.println(result); Books books=(Books)result; System.out.println(books); } }
/** * 图书 * @author zhaoguoli * @version v1.0 2013-2-4 create */ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.builder.ToStringBuilder; import org.nuxeo.common.xmap.annotation.XNode; import org.nuxeo.common.xmap.annotation.XNodeList; import org.nuxeo.common.xmap.annotation.XObject; @XObject public class Book { @XNode("title") private String title; @XNode("@no") private String no; @XNodeList(value = "subject", type = ArrayList.class, componentType = String.class) private List<String> subjects; @XNode("price") private int price; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public List<String> getSubjects() { return subjects; } public void setSubjects(List<String> subjects) { this.subjects = subjects; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }
/** * 图书列表 * @author zhaoguoli * @version v1.0 2013-2-4 create */ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.builder.ToStringBuilder; import org.nuxeo.common.xmap.annotation.XNodeList; import org.nuxeo.common.xmap.annotation.XObject; @XObject(value = "books") public class Books { @XNodeList(value = "book", type = ArrayList.class, componentType = Book.class) private List<Book> book; public List<Book> getBook() { return book; } public void setBook(List<Book> book) { this.book = book; } public void addBook(Book b){ if(book==null){ book=new ArrayList<Book>(); } book.add(b); } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { // TODO Auto-generated method stub return ToStringBuilder.reflectionToString(this); } }
<?xml version="1.0" encoding="UTF-8"?> <root> <books> <book no="1"> <title>java程序设计</title> <subject>java</subject> <subject>xml</subject> <price>10</price> </book> <book no="2"> <title>c++程序设计</title> <subject>C++</subject> <subject>c</subject> <price>10</price> </book> </books> </root>
相关推荐
生成的Java Bean类会包含与XML元素相对应的字段,以及用于设置和获取这些字段值的方法。 描述中提到的"xml 转Java bean工具"进一步强调了这是一个专注于转换功能的工具。它可能是通过命令行界面或图形用户界面操作...
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
XStream不仅能够将Java对象转换为XML,还可以反向将XML转换回Java对象,极大地简化了对象与XML之间的序列化和反序列化过程。 XStream库是由Johannes Lehtinen创建的一个开源项目,它是基于Java的,可以处理复杂的...
主要介绍了Java Bean与xml互相转换的方法,结合实例形式分析了java bean与xml转换的原理与相关操作技巧,需要的朋友可以参考下
在Java开发中,XML(可扩展标记语言)和Bean之间的互相转换是一项常见的任务,尤其是在处理配置文件、数据交换或者序列化场景中。本篇将详细阐述XML与Bean之间的转换过程,以及相关的Java技术。 首先,XML是一种...
JAXB是Java的标准API,它提供了基于注解的方式来进行Java Bean与XML之间的转换。JAXB允许开发者在Java类上使用特定的注解来指定XML元素和属性的映射。 2. **使用步骤**: - 在Java Bean类上添加JAXB注解,如`@...
Java对象与XML之间的转换是Java开发中常见的需求,特别是在数据交换、配置文件存储或Web服务交互等场景。本文将深入探讨如何实现Java对象到XML以及XML到Java对象的转换。 首先,Java对象到XML的转换通常涉及到Java...
总结来说,这个压缩包提供的内容涉及了Java中使用JAXB进行XML与Java对象之间转换的实际应用,以及辅助的DTO和文件读取工具。这些对于理解和实现XML数据处理的Java应用非常有帮助。开发者可以通过学习和使用这些示例...
Java中的Apache Commons Betwixt库提供了一个简单的方法来映射Java Bean对象和XML文档之间的数据,使得在处理数据交换时能轻松地实现bean到XML的转换和XML到bean的反转换。本篇文章将深入探讨如何使用Commons ...
JavaBean和XML之间的转换在软件...在给定的资源中,`commons-betwixt-0.8.jar`提供了Betwixt库,而`Bean2xml.java`可能是实现转换的工具类,简化了开发工作。在实际项目中,根据需求和性能考虑选择合适的方法进行转换。
在Java开发中,数据对象(通常称为Bean)与XML之间的转换是常见的需求,尤其是在处理配置文件、序列化或网络通信时。Betwixt是一个Apache软件基金会提供的库,专门用于XML与Java对象之间的绑定,使得我们可以方便地...
在这个"JAXBContext测试Java对象与xml的相互转换Demo"中,我们将深入探讨如何利用JAXBContext实现这一功能。 首先,我们需要定义一个Java类,这个类将被映射为XML文档的元素。例如,我们可以创建一个`Person`类,...
2. Bean到XML转换: 反之,如果你有一个Java对象并且希望将其转换为XML格式,Castor也能轻松实现。通过调用Castor提供的序列化方法,你可以将Java对象转换为XML字符串或直接写入XML文件。这样,Java对象的数据就以...
压缩包中的`trang.jar`可能是一个用于XML转换的工具,而`java中对象与xml相互转换.doc`可能是关于如何在Java中实现对象和XML之间转换的详细文档,涵盖了上述的一些技术点。 总之,Java XML处理技术是开发者必须掌握...
在提供的文件`ClassToXml.java`和`CC.java`中,很可能是实现了XML到Bean或Bean到XML转换的示例代码。具体实现细节需要查看源代码才能理解。通常,这些类会包含对JAXB API的调用,如创建JAXBContext、Unmarshaller和...
JAXB是Java标准API,它提供了将XML文档与Java对象之间进行自动转换的能力,极大地简化了XML的处理。 首先,我们需要理解JAXB的工作原理。JAXB基于Java反射机制,通过在Java类上使用特定的注解(如@XmlRootElement、...
XML文件自动转换为Java对象工具是一种实用的开发辅助软件,它可以帮助程序员快速地将XML数据映射到Java类,从而简化了数据处理的过程。在Java开发中,XML常被用作数据交换格式,但手动编写Java类来表示XML结构既耗时...
Java 类与XML之间的相互转换是Java开发中常见的一项任务,特别是在处理配置文件、数据持久化或者网络通信时。XStream库提供了一种简单且高效的方式来实现这种转换,它是一个Java库,可以将Java对象序列化为XML,也...
在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...
总之,"Converter between XML and Java Bean"涉及的关键知识点是利用如XStream这样的库实现XML与Java对象之间的转换,这在Java开发中是非常重要且实用的技能,尤其在处理数据交换、持久化存储和跨系统通信时。...