castor Unmarshaller 在AIX机器上,怎么弄都不对
后来使用InputSource()包一下就好了,真是奇怪,如果只用FileReader,则总会有编码问题,使用InputStreamReader 指定编码也不好使。
TaskInfo taskInfo = (TaskInfo) unmarshaller.unmarshal(is);
TestCase.java
package com.utan.bean;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Iterator;
import java.util.Vector;
import org.exolab.castor.mapping.Mapping;
import org.exolab.castor.xml.Unmarshaller;
import org.xml.sax.InputSource;
import com.utan.exchange.config.ExMapping;
import com.utan.exchange.config.MappingItem;
public class TestCase {
/**
* 获得输入源
* @param transFile
* @return
*/
public InputSource getTransFileReader(String transFile)
throws FileNotFoundException {
InputSource is = null;
is = new InputSource(new FileReader(transFile));
return is;
}
/**
* 测试一
*
*/
public void test1(){
try {
InputSource is = getTransFileReader("test.xml");
Mapping map = new Mapping();
map.loadMapping(this.getClass().getResource("mapping.xml"));
Unmarshaller unmarshaller = new Unmarshaller(TaskInfo.class);
unmarshaller.setMapping(map);
TaskInfo taskInfo = (TaskInfo) unmarshaller.unmarshal(is);
System.out.println(taskInfo.getTaskName());
System.out.println(taskInfo.getTaskDesc());
System.out.println(taskInfo.getTaskEnDesc());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 主方法入口
* @param args
*/
public static void main(String[] args) {
TestCase tc = new TestCase();
tc.test1();
}
}
TaskInfo.java
package com.utan.bean;
public class TaskInfo {
private String taskName;
private String taskDesc;
private String taskEnDesc;
public String getTaskDesc() {
return taskDesc;
}
public void setTaskDesc(String taskDesc) {
this.taskDesc = taskDesc;
}
public String getTaskEnDesc() {
return taskEnDesc;
}
public void setTaskEnDesc(String taskEnDesc) {
this.taskEnDesc = taskEnDesc;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
}
Mapping.xml
<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
"http://castor.org/mapping.dtd">
<mapping>
<description>Map xml file to Template object</description>
<class name="com.utan.bean.TaskInfo">
<map-to xml="trans"/>
<field name="taskName"
type="java.lang.String">
<bind-xml name="taskName" node="element"/>
</field>
<field name="taskDesc"
type="java.lang.String">
<bind-xml name="taskDesc" node="element"/>
</field>
<field name="taskEnDesc"
type="java.lang.String">
<bind-xml name="taskEnDesc" node="element"/>
</field>
</class>
</mapping>
test.xml
<?xml version="1.0" encoding="GB2312"?><taskInfo>
<taskName>RCPMake2101</taskName>
<taskDesc>人民币跨境收入信息(2101)</taskDesc>
<taskEnDesc>RCPMake2101</taskEnDesc>
</taskInfo>
分享到:
相关推荐
使用Castor时,如果没有根节点时,会报出异常,这个例子就是为了解决这个问题
castor castor资料 castor castor castor
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 ...
castor简介 castor是一种将java对象和XML自动绑定的开源软件。它可以在java对象、XML文本、SQL数据表以及LDAP目录之间绑定。Castor几乎是JAXB的替代品。Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现...
castor 帮助文档 Castor API Documentation
完整jar 直接导入使用 Castor 是一种将Java对象和XML自动绑定的开源软件。它可以在Java对象、XML文本、SQL数据表以及LDAP目录之间绑定。
没法解组,应用castor技术,test包是测试包,里面只有model和map映射,很简单的小测试工程
castor1.4 xsd生成java
eclipse中castor插件的集成,方便数据绑定的实现
castor学习教程 castor学习教程castor学习教程 castor学习教程 castor学习教程
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
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定
castor解析xml
castor解析xml与xsd校验xml
castor-1.2.zip
Castor是ExoLab Group下面的一个开放源代码的项目,它主要实现的是O/R映射功能。它主要API和数据接口为:JDO-like, SQL, OQL, JDBC, LDAP, XML, DSML。它支持分布式目录事务处理和时间;提供处理XML、Directory、...
用于javabean到xml映射文件的转化,可用于castor框架。 JDK6编译、运行。 双击运行时,需要等待一段时间。
castor-0.9.5.3-xml.jar,java和xml互相转换所使用的JAR
Castor 项目采用 BSD 类型的证书,因此可在任何类型的应用程序(包括完整版权的项目)中使用。 Castor 实际上仅仅有 XML 数据绑定,它还支持 SQL 和 LDAP 绑定
NULL 博文链接:https://orange5458.iteye.com/blog/1139596