- 浏览: 107361 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (134)
- java (134)
- [转]sqlserver 数据类型 及使用考虑 (1)
- 保存、读取、删除到sdcard图片 (1)
- hashcode 重写 (1)
- sql2008导出数据 (1)
- Android开发(1):随机绘制彩色实心圆 (1)
- JPA 应用技巧 1:实体类和实体 DAO 模板 (1)
- 狩魂之神即将开测 - 2012年最值得期待的网页游戏 (1)
- mantis (1)
- MediaWiki (1)
- ExtMail (1)
- MDaemon搭建公司项目环境 (1)
- NIO 之 选择就绪模式 (1)
- web应用系统架构设计 (1)
- XML CDATA (1)
- firefox+Firebug调试JavaScript、HTML和CSS (1)
- 在SUSE 11中安装Windows虚拟机 (1)
- 将字节流(byte[])转换成文件 (1)
- HTML5网站 (1)
- 在Android中自定义IOS风格的按钮 (1)
- 基于SVG的WebGIS的一个雏形 (1)
- 程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题 (1)
- 介绍一个ASP.NET开发工具Web Matrix (1)
- C#信息采集工具实现 (1)
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布 (1)
- 2011面试题目之猴子偷桃 (1)
- Linux tar压缩时排除某个目录或文件的参数 (1)
- Crack JRebel 4.0,无需重启JVM,热部署解决方案 (1)
- Groovy Sql使用Spring的事务管理 (1)
- <<让oracle跑的更快1>>读书笔记2 (1)
- 不要再浪费时间 (1)
- JSP (1)
- PHP (1)
- Python (1)
- Ruby (1)
- Perl概要及各自特点 (1)
- JVM 内存结构(转) (1)
- [转载]JPA 批注参考(1) (1)
- Hadoop配置部分内容 (1)
- HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合 (1)
最新评论
-
alexyao8:
顶起
[G4Studio开源平台]如何搭建G4开发环境 -
greatghoul:
太二了。
不要再浪费时间 -
wengbo316:
它们一定是花果山的猴子,数数能数到3K多呢。。。
2011面试题目之猴子偷桃 -
mycar:
额.待补充...........
保存、读取、删除到sdcard图片 -
沙舟狼客:
这太折磨人了, 还有人要看吗?
[] javaeye rss抓取
在mq的数据传输过程中,往往将java bean与xml进行相互转换。
castor是exolab group下面的一个开放源代码的项目,提供了java bean与xml之间相互转换的功能。
他提供默认方式,也支持用户diy。
<span style="color: #ff0000;">默认方式:</span>
<span style="color: #ff0000;">1. 基本类型属性:int,boolean等以属性的方式输出</span>
<span style="color: #ff0000;">2. 对象类型属性:以子元素的方式输出</span>
一. 实例
导入包castor-1.2-xml.jar以及它的依赖包commons-logging-1.1.1.jar,xerces.jar(xerces-1_4_4)
注:现在最新的castor版本为1.3.2,但是是jdk6环境下编译的,所以需要在jdk6下才能运行
address.java
student.java
castortest.java
2.运行结果
3.参考资料
http://www.ibm.com/developerworks/cn/xml/x-bindcastor/
castor是exolab group下面的一个开放源代码的项目,提供了java bean与xml之间相互转换的功能。
他提供默认方式,也支持用户diy。
<span style="color: #ff0000;">默认方式:</span>
<span style="color: #ff0000;">1. 基本类型属性:int,boolean等以属性的方式输出</span>
<span style="color: #ff0000;">2. 对象类型属性:以子元素的方式输出</span>
一. 实例
导入包castor-1.2-xml.jar以及它的依赖包commons-logging-1.1.1.jar,xerces.jar(xerces-1_4_4)
注:现在最新的castor版本为1.3.2,但是是jdk6环境下编译的,所以需要在jdk6下才能运行
address.java
package com.siyuan.castor;public class address { private string street; /** * @return the street */ public string getstreet() { return street; } /** * @param street the street to set */ public void setstreet(string street) { this.street = street; } /* (non-javadoc) * @see java.lang.object#tostring() */ @override public string tostring() { // todo auto-generated method stub return "address[street=" + street +"]"; } }
student.java
package com.siyuan.castor;import java.util.arraylist;import java.util.date;import java.util.hashmap;import java.util.hashset;import java.util.list;import java.util.map;import java.util.set;public class student { private int age; private boolean male; private string name; private address address; private date birthday; private student girlfriend; private set<student> friends = new hashset<student>(); private list<string> subjects = new arraylist<string>(); private map<string, string> teachers = new hashmap<string, string>(); public student() { } public student(string name) { this.name = name; } /** * @return the age */ public int getage() { return age; } /** * @param age the age to set */ public void setage(int age) { this.age = age; } /** * @return the mail */ public boolean ismale() { return male; } /** * @param mail the mail to set */ public void setmale(boolean male) { this.male = male; } /** * @return the name */ public string getname() { return name; } /** * @param name the name to set */ public void setname(string name) { this.name = name; } /** * @return the address */ public address getaddress() { return address; } /** * @param address the address to set */ public void setaddress(address address) { this.address = address; } /** * @return the friends */ public set<student> getfriends() { return friends; } /** * @param friends the friends to set */ public void setfriends(set<student> friends) { this.friends = friends; } public void addfriend(student friend) { friends.add(friend); } /** * @return the girlfriend */ public student getgirlfriend() { return girlfriend; } /** * @param girlfriend the girlfriend to set */ public void setgirlfriend(student girlfriend) { this.girlfriend = girlfriend; } /** * @return the subjects */ public list<string> getsubjects() { return subjects; } public void addsubject(string subject) { subjects.add(subject); } /** * @return the teachers */ public map<string, string> getteachers() { return teachers; } /** * @return the teachers */ public void setteachers(map<string, string> teachers) { this.teachers = teachers; } /** * @return the birthday */ public date getbirthday() { return birthday; } /** * @param birthday the birthday to set */ public void setbirthday(date birthday) { this.birthday = birthday; } /* (non-javadoc) * @see java.lang.object#tostring() */ @override public string tostring() { // todo auto-generated method stub return "student[name=" + name + ",age=" + age + ",male=" + male + ",birthday=" + birthday +",\n" + "address=" + address + ",\n" + "girlfriend=" + girlfriend + ",\n" + "friends=" + friends + ",\n" + "subjects=" + subjects + ",\n" + "teachers=" + teachers + "\n" + "]"; } }
castortest.java
package com.siyuan.castor.test;import java.io.stringreader;import java.io.stringwriter;import java.text.dateformat;import java.text.parseexception;import java.text.simpledateformat;import java.util.date;import java.util.hashmap;import java.util.hashset;import java.util.map;import java.util.set;import org.exolab.castor.xml.marshalexception;import org.exolab.castor.xml.marshaller;import org.exolab.castor.xml.unmarshaller;import org.exolab.castor.xml.validationexception;import com.siyuan.castor.address;import com.siyuan.castor.student;public class castortest { /** * @param args * @throws validationexception * @throws marshalexception * @throws validationexception * @throws marshalexception */ public static void main(string[] args) throws marshalexception, validationexception{ student stusrc = new student(); stusrc.setage(22); stusrc.setname("singleman"); stusrc.setmale(true); address address = new address(); address.setstreet("renmin road"); stusrc.setaddress(address); dateformat datefmt = new simpledateformat("yyyy-mm-dd"); try { date birthday = datefmt.parse("1988-11-21"); stusrc.setbirthday(birthday); } catch (parseexception e) { e.printstacktrace(); } student girl = new student(); girl.setage(20); stusrc.setgirlfriend(girl); set<student> students = new hashset<student>(); student stu1 = new student(); stu1.setage(21); students.add(stu1); student stu2 = new student(); stu2.setage(23); students.add(stu2); stusrc.addsubject("english"); stusrc.addsubject("math"); stusrc.addsubject("chinese"); map<string, string> teachers = new hashmap<string, string>(); teachers.put("english", "teacher a"); teachers.put("chinese", "teacher b"); stusrc.setteachers(teachers); stringwriter result = new stringwriter(); <span style="color: #000000;">marshaller.marshal(stusrc, result);</span> system.out.println(result); system.out.println("=========================================================="); <span style="color: #000000;">student studist = (student) unmarshaller.unmarshal(student.class, new stringreader(result.tostring()));</span> system.out.println(studist); }}
2.运行结果
<?xml version="1.0" encoding="utf-8"?><student male="true" age="22"><name>singleman</name><teachers xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="java:org.exolab.castor.mapping.mapitem"><key xsi:type="java:java.lang.string">english</key><value xsi:type="java:java.lang.string">teacher a</value></teachers><teachers xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="java:org.exolab.castor.mapping.mapitem"><key xsi:type="java:java.lang.string">chinese</key><value xsi:type="java:java.lang.string">teacher b</value></teachers><girl-friend male="false" age="20"/><subjects xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="java:java.lang.string">english</subjects><subjects xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="java:java.lang.string">math</subjects><subjects xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:type="java:java.lang.string">chinese</subjects><address><street>renmin road</street></address><birthday>1988-01-21t00:00:00.000+08:00</birthday></student>============================================================student[name=singleman,age=22,male=true,birthday=thu jan 21 00:00:00 cst 1988,address=address[street=renmin road],girlfriend=student[name=null,age=20,male=false,birthday=null,address=null,girlfriend=null,friends=[],subjects=[],teachers={}],friends=[],subjects=[english, math, chinese],teachers={english=teacher a, chinese=teacher b}]
3.参考资料
http://www.ibm.com/developerworks/cn/xml/x-bindcastor/
发表评论
-
HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合
2012-02-07 15:13 1043今天看着教程刚刷了台HD2,觉得有用的文章顺便转载过来 ... -
Hadoop配置部分内容
2012-02-04 15:29 703[size=medium;]Hadoop配置部分内容[ ... -
[转载]JPA 批注参考(1)
2012-02-04 11:39 692作为 Java 企业版 5 ... -
JVM 内存结构(转)
2012-02-03 14:49 856http://www.4ucode.com/Study ... -
JSP,PHP,Python,Ruby,Perl概要及各自特点
2012-01-31 15:18 952互联网技术日新月异,编程的语言层出不穷,原本稍微平静了 ... -
不要再浪费时间
2012-01-31 15:08 852不要再浪费时间 &l ... -
<<让oracle跑的更快1>>读书笔记2
2012-01-11 13:24 9891 绑定变量 1 ... -
Groovy Sql使用Spring的事务管理
2011-12-28 18:43 1229Grails如果不想用Hibernate的东东,可以直 ... -
Crack JRebel 4.0,无需重启JVM,热部署解决方案
2011-12-28 18:28 1136http://dl.dropbox.com/u/229 ... -
Linux tar压缩时排除某个目录或文件的参数
2011-12-21 13:48 1262在对某个目录进行压缩的时候,有时候想排除掉某个目录,例 ... -
2011面试题目之猴子偷桃
2011-12-21 11:14 1438<span style="" ... -
Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
2011-12-20 14:53 1539首先是准备工作 ... -
C#信息采集工具实现
2011-12-20 12:34 844简单C#信息采集工具实现 最近想整只爬虫玩玩,顺便熟 ... -
介绍一个ASP.NET开发工具Web Matrix
2011-12-19 09:49 893想学习或者开发个小型的ASP.NET程序,装个VS.N ... -
程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题
2011-12-19 09:24 868<font style="bac ... -
基于SVG的WebGIS的一个雏形
2011-12-14 13:19 634我和一位师弟,经过了很多天的努力,终于做出了一个简单的 ... -
在Android中自定义IOS风格的按钮
2011-12-12 10:09 1065<p class="MsoNorm ... -
HTML5网站
2011-12-12 08:55 770记得刚来现在公司的时候,老大就说,作为移动平台部门的员 ... -
将字节流(byte[])转换成文件
2011-12-09 08:25 1454/** * 将字节流转换成文件 * @par ... -
在SUSE 11中安装Windows虚拟机
2011-12-09 01:29 866Novell公司最近推出 ...
相关推荐
Castor Plug-in for Eclipse 插件的使用总结,全部以截图的方式一步一步向下引导。从安装开始,到使用其产生类。这是我的学习文档,写的比较的简单,多是一些图。目的就是为了让自己以后忘了的时候,能够一眼就看懂...
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定
castor-1.2.jar castor-1.2-anttasks.jar castor-1.2-codegen.jar castor-1.2-ddlgen.jar castor-1.2-jdo.jar castor-1.2-xml-schema.jar castor-1.2-xml.jar
org.castor.util.IdentityMap org.castor.util.IdentitySet org.exolab.javasource.JEnum org.exolab.javasource.JType org.exolab.castor.util.List org.exolab.javasource.Header org.exolab.javasource.JClass ...
Unmarshall与Marshall使用的castor-xml-1.3.2.jar包
Unmarshall与Marshall使用的jar包
castor-1.2-examples
castor-1.2.zip
利用该包内提供的java类,可以进行java读取解析xml文件,并对文件进行操作
castor-1.2-doc.zip
castor-0.9.5.2.jar
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定
完整jar 直接导入使用 Castor 是一种将Java对象和XML自动绑定的开源软件。它可以在Java对象、XML文本、SQL数据表以及LDAP目录之间绑定。
Castor的jar包 对XML的序列号更容易些!
castor-0.9.5.3-xml.jar,java和xml互相转换所使用的JAR
java -classpath D:\xsd/castor-1.2-anttasks.jar;D:\xsd/castor-1.2-codegen.jar;D:\xsd/commons-logging-1.1.jar;D:\xsd/castor-1.2-ddlgen.jar;D:\xsd/castor-1.2-jdo.jar;D:\xsd/castor-1.2-xml-schema.jar;D:\...
要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、XADirectory的类库,提供从XML到JAVA类的转换机制。
1、xml格式文件的用法,我们学过的xml有两种用法:一,作为配置文件。二、作为数据存储文件。 其中作为数据存储文件有很多优点,比如,数据更加规范,数据校验等。 2、这个工具的功能:能够把xml文件存储的数据和...
astorastorastorastorastorastorastor
解析wsdl文件的好帮手,和jdom.jar,wsdl4j.jar组合,能很好的解吸wsdl文件。