- 浏览: 83005 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (89)
- java (37)
- drools (1)
- web (10)
- 数据库 (4)
- Spring (1)
- Hibernate (1)
- Struts (0)
- Struts2 (0)
- SQL (1)
- Python (1)
- Flex (6)
- 离线支付 (1)
- 搜索,检索 (1)
- junit (1)
- Velocity (1)
- ext (1)
- flush (0)
- js (3)
- winp7 (0)
- pdf (3)
- 管理 (5)
- script (1)
- test (1)
- Tomcat (1)
- 服务部署 (1)
- HTML (1)
- PDF加水印 (1)
- 随机数 (0)
- Eclipse (5)
- OSGI (4)
- bndtools (4)
- felix (4)
- OSGIWeb (1)
最新评论
-
zly168:
很牛
日期控件(时-分-秒) -
aij:
[color=cyan][/color][size=xx-sm ...
web Service -
ywxowen999:
这位兄弟,不知道你研究过Concurrent.Thread的源 ...
js 线程 -
BigBird2012:
你好,你能不能将你的源码给我发一份呢,我参考一下,谢谢!
29 ...
JBPM工作流
http://redwave.iteye.com/blog/163913
http://cache.baidu.com/c?m=9d78d513d99212ee1eb0d4690d6788355b16db3f69c3975521dbc90ed5264c40347bfefe62670704a4942f2647f2094bea876b32621e6ae8c5df883c82e8d06a74d47223706bdc074d8d&p=8e77d716d9c41bff57ea913a7f53&user=baidu&fm=sc&query=Castor+Mapping&qid=d267970c057eaf60&p1=1
Castor和数据库http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7386c88c7150885ce178e320c051038bef970625559939c3d7a50f35416b5ae2b38200356fdc39bcc198ce8d36e72c821296459db0144dc48fc8a00788137902bfedf1bf0ccf32593df8d809d16089606127af1e7fb5f1765cd7880132693d08e49654861c9fa4413e829003ee95557b737ee9046797081e1dc2c5bb52ec71713&p=c3769a4386cc42ad42fcce655c52&user=baidu&fm=sc&query=Castor+%B0%D1+Mapping+%B7%C5%B5%BD%CA%FD%BE%DD%BF%E2%D6%D0&qid=85c908a405941d5b&p1=1
Mapping:http://tech.ddvip.com/2009-01/1232391830106397_16.html
http://bluelzx.iteye.com/?page=7&show_full=true
类型转换http://wangrui.iteye.com/category/24492?show_full=true
总结:
对象必须是javaBean,用集合测试是不可以
http://cache.baidu.com/c?m=9d78d513d99212ee1eb0d4690d6788355b16db3f69c3975521dbc90ed5264c40347bfefe62670704a4942f2647f2094bea876b32621e6ae8c5df883c82e8d06a74d47223706bdc074d8d&p=8e77d716d9c41bff57ea913a7f53&user=baidu&fm=sc&query=Castor+Mapping&qid=d267970c057eaf60&p1=1
Castor和数据库http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7386c88c7150885ce178e320c051038bef970625559939c3d7a50f35416b5ae2b38200356fdc39bcc198ce8d36e72c821296459db0144dc48fc8a00788137902bfedf1bf0ccf32593df8d809d16089606127af1e7fb5f1765cd7880132693d08e49654861c9fa4413e829003ee95557b737ee9046797081e1dc2c5bb52ec71713&p=c3769a4386cc42ad42fcce655c52&user=baidu&fm=sc&query=Castor+%B0%D1+Mapping+%B7%C5%B5%BD%CA%FD%BE%DD%BF%E2%D6%D0&qid=85c908a405941d5b&p1=1
Mapping:http://tech.ddvip.com/2009-01/1232391830106397_16.html
http://bluelzx.iteye.com/?page=7&show_full=true
类型转换http://wangrui.iteye.com/category/24492?show_full=true
package test; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.Date; import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.Marshaller; import org.exolab.castor.xml.Unmarshaller; import org.exolab.castor.xml.ValidationException; public class Test { public static void main1(String[] args) { David bean = new David(); bean.setAge(24); bean.setName("David"); bean.setBorndate(new Date()); try { // write it out as XML File file = new File("D:/David.xml"); Writer writer = new FileWriter(file); Marshaller.marshal(bean, writer); // now restore the value and list what we get Reader reader = new FileReader(file); David read = (David) Unmarshaller.unmarshal(David.class, reader); System.out.println("David: " + read.getName() + read.getBorndate() + read.getAge()); } catch (IOException ex) { ex.printStackTrace(System.err); } catch (MarshalException ex) { ex.printStackTrace(System.err); } catch (ValidationException ex) { ex.printStackTrace(System.err); } } public static void main(String[] args) throws MarshalException, ValidationException, IOException { QQ qq = new QQ(); qq.setId(1); qq.setName("QQ"); qq.setStrName("BB"); Marshaller.marshal(qq,new FileWriter("D:/QQ.xml")); Reader reader = new FileReader("D:/QQ.xml"); QQ qq2 = (QQ) Unmarshaller.unmarshal(QQ.class,reader); System.out.println("QQ2:"+qq2.getId()+"--"+qq2.getName()+"---"+qq2.getStrName()); reader.close(); } }
public static void main(String[] args) { QQ qq = new QQ(); qq.setId(1); qq.setName("123"); qq.setStrName("abc"); try { FileWriter writer =new FileWriter("D:/q.xml"); /*Marshaller.marshal(qq,new DocumentHandler() { public void startElement(String name, AttributeList atts) throws SAXException { System.out.println("元素:"+name); } public void startDocument() throws SAXException { System.out.println("开始解析"); } public void setDocumentLocator(Locator locator) { System.out.println("Locator"); } public void processingInstruction(String target, String data) throws SAXException { System.out.println("processingInstrucion"); } public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException { System.out.println("ignorableWhitespace"); } public void endElement(String name) throws SAXException { System.out.println("end"+name); } public void endDocument() throws SAXException { System.out.println("解析完毕"); } public void characters(char[] ch, int start, int length) throws SAXException { System.out.println("---"+new String(ch,start,length)); } });*/ Writer writer2 = new StringWriter(); Marshaller.marshal(qq,writer2); System.out.println(writer2.toString()); } catch (Exception e) { e.printStackTrace(); } }
总结:
对象必须是javaBean,用集合测试是不可以
//通过Map 文件 public static void main(String[] args) { //InputStream in = new ByteArrayInputStream(str.getBytes()); // InputSource inputSource = new InputSource(in); QQ qq = new QQ(); qq.setId(1); qq.setName("123"); try { Mapping mapping =new Mapping(); mapping.loadMapping("D:/map.xml"); Writer writer = new FileWriter("D:/qq.xml"); Marshaller marshaller =new Marshaller(writer); marshaller.setMapping(mapping); marshaller.marshal(qq); Reader reader = new FileReader("D:/qq.xml"); Unmarshaller unmarshaller =new Unmarshaller(mapping); QQ qq1=(QQ) unmarshaller.unmarshal(QQ.class,reader); System.out.println("id="+qq.getId()+"--"+qq.getName()); } catch (Exception e) { e.printStackTrace(); } }
<!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd"> <mapping> <description>Collection mapping example</description> <class name="test.QQ" auto-complete="true"> <field name="id"> <bind-xml name="id" node="attribute"/> </field> <field name="name"> <bind-xml name="strName" node="attribute"/> </field> </class> <class name="test.QQ" auto-complete="true"> <field name="id"> <bind-xml name="id" node="attribute"/> </field> <field name="name"> <bind-xml name="strName" node="attribute"/> </field> </class> </mapping>
- castor-1.3rc1.zip (4.3 MB)
- 下载次数: 12
发表评论
-
Bndtools教程
2014-04-18 18:51 2342Bndtools教程 介绍了组件开发与Bndtool ... -
强大的OSGI开发工具BndTools和命令
2014-04-18 18:48 3711bndTools为我们提供了一种使用Eclipse开发OS ... -
Eclipse 快速增加 插件
2014-04-16 16:06 810在eclipse上安装 Marketplace Client ... -
随机数
2014-01-16 16:00 0System.out.println((int)((Math. ... -
数字精度控制
2012-06-01 14:48 0Java 数字精度控制:格式为小数点后两位 DecimalF ... -
Ibatis sql注入 注意!!
2012-05-12 19:57 1057在项目中,运用Ibatis中Like写法,没有研究下,结果SQ ... -
test
2011-09-06 13:23 734test2 -
好看的后台模板
2011-06-21 22:07 10286月15后 -
java.io.ZipInputStrean
2011-05-17 16:07 667//解压zip //java.io.ZipIn ... -
abcdefy
2011-05-16 10:24 688abcdefy -
task
2011-05-07 08:01 607tasktasktasktask -
screen-paint1.00.003
2011-04-04 08:47 671sdfdsfdsfds -
(Interpreter)模式:
2011-04-04 07:33 813解释器(Interpreter)模 ... -
与百度地图API
2011-04-04 07:28 781http://baidu.csdn.net/apicontes ... -
Aspose.Pdf
2011-03-22 17:01 786Aspose.Pdf 有例子 -
DbTest Ibatis
2011-03-22 15:39 11651[vo].ServiceDto.java Service ... -
myEclipse8.5优化
2011-03-20 15:30 698http://www.iteye.com/topic/7895 ... -
Java内存泄露
2011-03-19 18:23 846http://cache.baidu.com/c?m=9d78 ... -
java解析Xls
2011-03-17 15:11 896public static void main(Strin ... -
Hibernate联合主键
2011-03-14 16:06 1379package pojo; /** * 一个测试 ...
相关推荐
总的来说,JavaBean到XML映射文件工具是一个提高开发效率的实用工具,它简化了数据在Java对象和XML文档之间的转换,特别是在与Castor框架集成时。理解这个工具的工作原理和使用方法对于任何需要处理数据序列化的Java...
2. **生成映射文件**:Castor需要一个映射文件(mapping.xml),该文件定义了JavaBean和XML元素之间的关系。映射文件可以手动编写,也可以通过Castor的`generate`命令自动生成。例如,如果你有一个名为`Person`的...
1. **对象-XML映射(OXM)**:通过Object-XML Mapping框架(如JAXB、Apache XMLBeans、Castor等),可以自动将JavaBean对象转换为XML文档,反之亦然。这种方式简化了数据持久化的代码编写,提高了开发效率。 2. **...
Castor库还提供了序列化和反序列化的功能,使得XML与Java对象之间的转换更加便捷。 以下是一段简单的示例代码,展示如何使用Castor将XML数据转化为JavaBean: ```java import org.exolab.castor.xml....
为了使 Castor 能够正确地处理这个类,我们需要定义一个 XML 映射文件,指定 XML 标签与 Java 属性之间的映射关系。以下是一个示例: ```xml <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version ...
用于javabean到xml映射文件的转化,可用于castor框架。 JDK6编译、运行。 双击运行时,需要等待一段时间。
3. 第三方库:除了标准的Java库,还有许多第三方库如Apache's Digester、Castor和XStream等,它们提供了更简洁的API来简化XML与JavaBean之间的转换。 4. XMLBeans库:压缩包中的"xmlbean"可能指的是Apache的...
Castor 提供了一个灵活的方式来定义 Java 对象与 XML 之间的映射关系,使得开发者们可以轻松地将 Java 对象转换为 XML,并在需要时将 XML 转换回 Java 对象。 Castor 的工作流程可以分为三步: 1. 首先,需要定义...
Castor框架支持自动生成XML文档的格式,只要Java对象遵循JavaBean规范,即包含公共getter和setter方法来访问和修改属性。这意味着开发者无需手动编写XML schema或配置文件,Castor就能根据对象的结构生成相应的XML...
Castor是一个开源项目,它提供了多种功能,包括但不限于对象关系映射(ORM)、XML绑定以及Web服务支持等。其中,XML绑定是其最为核心的功能之一,可以实现Java对象与XML文档之间的相互转换。 #### 二、Castor的工作...
Castor 虽然也能进行 XML 和 Java 对象之间的映射,但它还包含了 Java-SQL 绑定,并支持运行时自省。JAXB 是 Sun 提供的一种基础技术,专注于 XML 和 Java 类的绑定。然而,XMLBeans 由于其易用性、丰富的特性集以及...
这些框架采用了两种不同的方式:代码生成和对象到XML映射。 #### 代码生成方式 使用代码生成的框架有XMLBeans、JAXB、Zeus和J Bind等。这类框架首先要建立描述文档数据类型的XML方案,然后使用框架提供的工具,就...
2. **Data Access/Integration(数据访问/集成)**:这个模块处理数据库访问,包括 JDBC、ORM(对象关系映射,如 Hibernate 和 JPA)、OXM(对象XML映射,如 JAXB 和 Castor)以及对 JMS(Java消息服务)的支持。...
- `castor-xml.jar`:这是一个XML绑定库,可以将Java对象序列化为XML,或者从XML反序列化为Java对象。 - `commons-collections.jar`:Apache Commons Collections提供了各种集合操作的扩展,如列表、映射和队列的...
它们通常是JavaBean,与HTML表单字段相对应,用于在Action和JSP之间传递数据。 6. **Action Mapping**:在`struts-config.xml`中,Action Mapping定义了URL到Action的映射,以及Action的执行结果如何转发到特定的...
在实际应用中,BeanUtils还经常与Apache的其他组件一起使用,比如Digester或Castor,它们可以帮助解析XML并自动创建和填充JavaBean。这样的组合使得在Java项目中处理数据交换和对象持久化变得更加简单。 总结来说,...
第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速入门 14.2.3 使用XStream别名 14.2.4 XStream转换器 14.2.5...
第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速入门 14.2.3 使用XStream别名 14.2.4 XStream转换器 14.2.5...