- 浏览: 422571 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (115)
- spring (1)
- apache-hadoop (1)
- struts 2.x (12)
- ruby & rails (2)
- hibernate 3.x (1)
- oracle (2)
- sqlserver (6)
- maven (3)
- Java (29)
- tomcat (7)
- resin 3.x (2)
- javascript (10)
- eclipse (6)
- DWR (1)
- ibatis (4)
- Linux (4)
- servlet (1)
- J2EE项目分析 (7)
- Lucene (4)
- jQuery (1)
- mysql (2)
- OSGI (1)
- JMS ActiveMQ (2)
- 开源 (1)
最新评论
-
aplixy:
gaoyibin 写道我在io流关闭以后使用renameTo ...
Java File.renameTo方法一直返回false -
GGGGeek:
...
java反射:object is not an instance of declaring class -
zgw06629:
多谢了 字符串必须要单引号真得挺坑的
s:radio 默认值 -
com.張:
村上春树
java反射:object is not an instance of declaring class -
僧_唐:
该方法不能真正的解决 actionMessage或action ...
struts2中多action间传递ActionMessage,ActionError
引用
转自http://lywybo.iteye.com/blog/468556#comments
最近项目中用到了xml和java bean的转换
用到xml的时候我们需要遍历解析。。。然后将解析的值放入声明好的java bean,过程很痛苦,结果很美好
我们能不能直接从xml转化到java bean呢,或者直接成java bean转化到xml呢?
答案是OK的
使用jar包:org.heibo.xbean
写个小例子
XML
<?xml version="1.0" encoding="UTF-8"?> <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>
Books类
import java.util.ArrayList; import java.util.List; 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); } }
Book类
import java.util.ArrayList; import java.util.List; 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; } }
测试类:
import java.util.ArrayList; import java.util.List; import org.nuxeo.common.xmap.XMap; public class XmapTest { public static void main(String[] args) { 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); List<String> filters = new ArrayList<String>(); System.out.println(xmp.asXmlString(books, "UTF-8", filters, true)); } catch (Exception e) { e.printStackTrace(); } } }
运行上面这个类就可以生成开头所看见的那个XML的内容
解析xml
xmap.register(Books.class); URL url = new File("book.xml").toURL(); InputStream in = new FileInputStream(new File("book.xml")); Object[] result = (Object[]) xmap.loadAll(in); Books books=(Books)result[0];
数据就完全autowire by name进入到了bean,某些情况下很好用(xml很整齐,每个节点的内容都一样,固定)
发表评论
-
windows下将jar文件设置成bat
2012-03-09 12:00 2360例如将如下jar包D:\bat\JRadiussimulato ... -
HttpURLConnection相关
2011-09-16 17:57 12071、java.io.FileNotFoundException ... -
UML中类之间的关系及其Java代码例子<转>
2011-05-11 09:38 2513关系是事物之间的联系 ... -
java反射:object is not an instance of declaring class
2011-04-12 09:56 79157/** * <pre> * &l ... -
Proxool报错Exception in Thread "HouseKeeper" java.lang.NullPointerException
2011-01-19 17:45 9786问题: 当tomcat里的项目设置成reload=true时, ... -
log4j不打印日志文件到tomcat日志中
2011-01-18 11:06 9357如有以下log4j配置: log4j.rootLogger ... -
dom4j生成xml
2011-01-17 16:00 13591、XMLWriter输出domcument对象: XML ... -
SVN服务端安装
2010-12-18 12:37 1756一、下载安装文件 可执行文件:http://subversio ... -
JAVA中几种概念
2010-08-27 13:52 11611、高内聚(将逻辑上相关的抽象放在一起)低耦合(减少模块间的依 ... -
ehcache报告UnknownHostException错误
2010-06-05 15:07 4892报错如下: java.net.UnknownHostExc ... -
log4j中关闭memcached日志
2010-03-27 18:31 2585log4j.logger.com.danga.MemCache ... -
Java文件下载的几种方式
2010-01-06 15:02 1408public HttpServletResponse do ... -
TreeView鼠标放在node上显示文字
2009-12-08 20:39 1614在node的Text属性上,包一层<span>让其 ... -
BufferedReader和FileReader读取txt文件乱码
2009-11-11 14:11 5017读取txt文件乱码 BufferedReader rea ... -
c3p0 DEBUG -- CLOSE BY CLIENT STACK TRACE
2009-11-06 14:32 4638Indeed, there is nothing to wor ... -
Apach Common 包
2009-10-28 22:47 1218Common IO: FileUtils: File t ... -
File API 常用方法
2009-10-28 15:13 1272File f = new File("c:\\ ... -
Java File.renameTo方法一直返回false
2009-10-22 17:36 7460描述: 在使用File.renameTo修改文件名时,一直返 ... -
File的getPath getAbsolutePath和getCanonicalPath的不同
2009-10-14 21:21 4285引用http://www.blogjava.net/dream ... -
java读取某目录下所有文件名
2009-09-29 15:22 6923Java的Flie对象的list方法可以获取该目录下的所有文件 ...
相关推荐
将JavaBean转换为XML是常见的数据序列化方式,有助于在不同系统间共享和存储对象状态。 在Java中,有多种方法可以实现JavaBean到XML的转换,包括使用API如JAXB(Java Architecture for XML Binding)、DOM...
这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...
而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...
之后,我们可以使用以下代码将JavaBean转换为XML: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; public class BeanToXmlConverter { public static void main(String[] args)...
javabean生成xml.xml转换成javabean的工具类
JavaBean到XML映射文件工具是一种实用程序,它允许开发者将Java对象(即JavaBean)的数据转换成XML格式的文件,反之亦然。这个工具在处理数据交换、持久化或配置文件时非常有用,特别是在使用像Castor这样的框架时。...
本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...
xml与JavaBean互相转换的好工具---Xstream,能够很方便的实现xml与JavaBean之间的转换,这在系统之间进行信息交互是非常方便的
这篇博客“xstream 让javabean和xml互相转换”深入探讨了如何利用XStream库实现这一功能。 XStream的核心思想是通过反射机制,将Java对象的字段映射到XML的元素和属性,以及反向操作将XML解析回Java对象。它的优势...
**工具** 如Apache Commons BeanUtils库也可以用来在JavaBean和Map对象之间进行转换,虽然它不直接处理XML,但可以作为进一步转换的基础。此外,一些IDE如Eclipse和IntelliJ IDEA提供了内置的功能来自动生成JavaBean...
在使用Jox进行XML和JavaBean转换时,需要注意以下几点: 1. **属性映射**:确保XML元素和JavaBean属性之间有正确的映射关系。这可以通过在JavaBean上使用特定的注解来实现,或者在使用`BeanXmlMapping`之前提供一个...
将JavaBean转换为XML是常见的数据交换格式转换需求,特别是在Web服务、数据存储或配置文件中。本文将深入探讨三种将JavaBean转换为XML的方法,并进行比较。 1. **JavaBeans API的XMLEncoder** XMLEncoder是...
轻松的实现javaBean到XML的转换,和XML到javaBean的转换
作为备忘录,实现xml转换成xsd,然后由xsd转换到javabean,最后在xml和javabean之间互相转换。 说明网址:http://blog.csdn.net/beanjoy/article/details/38272051
`toXML()` 方法将JavaBean对象转换成XML字符串,而 `fromXML()` 方法则相反,将XML字符串转换回JavaBean对象。 XStream库还支持处理复杂的Java对象结构,如集合、嵌套对象等,无需额外的配置。同时,它还提供了对...
在Java开发中,XML与JavaBean之间的转换是非常常见的需求,例如在序列化和反序列化过程中。以下将详细解释这两种数据格式间的转换方法。 1. XML到JavaBean的转换: - 使用JAXB(Java Architecture for XML Binding...
在实际项目中,有时我们需要在JavaBean和XML之间进行转换,以便于数据的持久化、网络传输或者跨平台交互。本篇文档将详细介绍如何使用jox-1.17b3.jar库来实现这一转换过程,并提供具体的例子。 1. **JavaBean到XML...
JavaBean和XML转换是Java开发中的一个重要主题,特别是在数据交换和持久化方面。XML(可扩展标记语言)因其结构化和人类可读性而广泛用于存储和传输数据,而JavaBean则是一种符合Java编程规范的对象,用于封装业务...
这个库简化了XML解析和Java对象之间的转换过程,使得开发人员能够更便捷地处理XML数据,特别是在需要在不同系统间传输Java对象或者在Web服务中使用XML作为数据交换格式时。 在本文中,我们首先看到一个Java Bean的...