- 浏览: 418485 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 2298例如将如下jar包D:\bat\JRadiussimulato ... -
HttpURLConnection相关
2011-09-16 17:57 11791、java.io.FileNotFoundException ... -
UML中类之间的关系及其Java代码例子<转>
2011-05-11 09:38 2474关系是事物之间的联系 ... -
java反射:object is not an instance of declaring class
2011-04-12 09:56 79075/** * <pre> * &l ... -
Proxool报错Exception in Thread "HouseKeeper" java.lang.NullPointerException
2011-01-19 17:45 9744问题: 当tomcat里的项目设置成reload=true时, ... -
log4j不打印日志文件到tomcat日志中
2011-01-18 11:06 9317如有以下log4j配置: log4j.rootLogger ... -
dom4j生成xml
2011-01-17 16:00 13221、XMLWriter输出domcument对象: XML ... -
SVN服务端安装
2010-12-18 12:37 1729一、下载安装文件 可执行文件:http://subversio ... -
JAVA中几种概念
2010-08-27 13:52 11301、高内聚(将逻辑上相关的抽象放在一起)低耦合(减少模块间的依 ... -
ehcache报告UnknownHostException错误
2010-06-05 15:07 4844报错如下: java.net.UnknownHostExc ... -
log4j中关闭memcached日志
2010-03-27 18:31 2556log4j.logger.com.danga.MemCache ... -
Java文件下载的几种方式
2010-01-06 15:02 1384public HttpServletResponse do ... -
TreeView鼠标放在node上显示文字
2009-12-08 20:39 1575在node的Text属性上,包一层<span>让其 ... -
BufferedReader和FileReader读取txt文件乱码
2009-11-11 14:11 4987读取txt文件乱码 BufferedReader rea ... -
c3p0 DEBUG -- CLOSE BY CLIENT STACK TRACE
2009-11-06 14:32 4596Indeed, there is nothing to wor ... -
Apach Common 包
2009-10-28 22:47 1196Common IO: FileUtils: File t ... -
File API 常用方法
2009-10-28 15:13 1231File f = new File("c:\\ ... -
Java File.renameTo方法一直返回false
2009-10-22 17:36 7404描述: 在使用File.renameTo修改文件名时,一直返 ... -
File的getPath getAbsolutePath和getCanonicalPath的不同
2009-10-14 21:21 4237引用http://www.blogjava.net/dream ... -
java读取某目录下所有文件名
2009-09-29 15:22 6885Java的Flie对象的list方法可以获取该目录下的所有文件 ...
相关推荐
NULL 博文链接:https://summerbell.iteye.com/blog/372963
xml文件与javabean之间的转换,javabean生成xml文件,再将xml文件转换成javabean,输出到控制台上
实现javabean转换xml,以及xml转换javabean,,尤其是做数据对接时,使用webservice时,很方便
xml与JavaBean互相转换的好工具---Xstream,能够很方便的实现xml与JavaBean之间的转换,这在系统之间进行信息交互是非常方便的
NULL 博文链接:https://luyuwww.iteye.com/blog/1988355
javabean转换xml映射文件工具,可用于castor框架。JDK6编译、运行。
javabean生成xml.xml转换成javabean的工具类
轻松的实现javaBean到XML的转换,和XML到javaBean的转换
xml转javaBean,javaBean转xml,xml标签大小写问题,CDATA的生成,以及对xml特殊符号的处理
用JOX实现xml和javabean的相互转换
用jox对xml与javabean进行转换,对过调用工具类BeanXmlMapping的fromXml()与toXml()方法进行相互转换。
JavaBean和xml转换demoJavaBean和xml转换demoJavaBean和xml转换demoJavaBean和xml转换demo
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
NULL 博文链接:https://inotgaoshou.iteye.com/blog/1130234
作为备忘录,实现xml转换成xsd,然后由xsd转换到javabean,最后在xml和javabean之间互相转换。 说明网址:http://blog.csdn.net/beanjoy/article/details/38272051
NULL 博文链接:https://tangkuo.iteye.com/blog/2298787
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
xml与javabean之间的相互转换,很方便,可快速入门,导入MyEclipse即可使用
NULL 博文链接:https://alandeng2012.iteye.com/blog/1440014
在开发过程中JavaBean与xml之间相互转换,jox给我们提供了很好的方便,但是jox官网已关闭,所以在这里方便大家下载使用;此资源中包含了jox所有依赖的jar包;解决xml中文格式化问题,JOXBeanOutputStream joxOut = ...