i try to use JAXB to binding the XML data to class. and i met some question that really boring.
the key of the question is : when i use the JAXB to get the xml data. the boolean data which in the in the created object is not correct.
here are my dtd file and xml file.
conditions.dtd :
<!ELEMENT conditions (condition*)>
<!ELEMENT condition (entrytype,type,leastNum,auto,unit,originate,last) >
<!ELEMENT entrytype (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT originate (#PCDATA)>
<!ELEMENT auto (#PCDATA)>
<!ELEMENT unit (#PCDATA)>
<!ELEMENT leastNum (#PCDATA)>
<!ELEMENT last (#PCDATA)>
<!ATTLIST condition isInfoComplete CDATA "true">
conditions.xml :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE conditions SYSTEM "conditions.dtd"><conditions>
<condition isInfoComplete="true">
<entrytype>blogentry</entrytype>
<type>apply</type>
<leastNum>3</leastNum>
<auto>true</auto>
<unit>week</unit>
<originate>true</originate>
<last>y</last>
</condition>
<condition isInfoComplete="true'">
<entrytype>blogentry</entrytype>
<type>keep</type>
<leastNum>20</leastNum>
<auto>true</auto>
<unit>month</unit>
<originate>false</originate>
<last>m</last>
</condition>
</conditions>
the class file is generated by the JAXB tool. and follow is my test class. notice the pakage path.
CollectionTest.java:public class ConditionTest {
public static void main(String[] args) {
try {
JAXBContext jc = JAXBContext.newInstance("test.xmlparse");
Unmarshaller u = jc.createUnmarshaller();
Conditions conds = (Conditions) u.unmarshal(new FileInputStream(
new File("conditions.xml")));
List cond=conds.getCondition();
int size = cond.size();
for(int i=0;i<size;i++) {
Condition con=(Condition) cond.get(i);
print(con);
}
System.out.println(conds.getCondition().size());
} catch (Exception ex) {
System.out.println(ex.getMessage());
System.out.println(ex.getCause());
}
}
private static void print(Condition con) {
System.out.println("auto:"+con.getAuto()+"\nlast:"+con.getLast()+"\nentrytype:"+con.getEntrytype()+"\ntype:"+
con.getType()+"\nunit:"+con.getUnit()+"\nisInfoComplete:"+con.getisInfoComplete()+
"\nleastNum:"+con.getLeastNum()+"\noriginate:"+con.getOriginate()+"\n\n\n");
}
}
here is my result:
auto:true
last:y
entrytype:blogentry
type:apply
unit:week
isInfoComplete:
false
leastNum:3
originate:true
auto:true
last:m
entrytype:blogentry
type:keep
unit:month
isInfoComplete:
false
leastNum:20
originate:false
-----------------------------------------------------------------------
i tracked the program. the value of isInfoComplete have get when the object created.but the value is not correct.:twisted:
分享到:
- 2007-09-30 18:32
- 浏览 1920
- 评论(1)
- 论坛回复 / 浏览 (1 / 2040)
- 查看更多
相关推荐
JAXB2,全称为Java Architecture for XML Binding 2,是Java平台上的一个标准技术,用于在XML和Java对象之间进行绑定。它允许开发者通过简单的API将XML文档转换为Java对象,反之亦然,大大简化了XML数据处理。JAXB2...
Java Architecture for XML Binding (JAXB) 是Java平台中用于XML数据绑定的标准库,它使得Java对象和XML文档之间可以进行无缝转换。在给定的压缩包文件中,包含了一些核心的JAXB组件以及相关的依赖库,如`jaxb-impl....
然而,在某些情况下,尤其是在使用Java 6的环境中,可能会遇到与内置JAXB(Java Architecture for XML Binding)库的兼容性问题。标题提到的"jaxb-api.jar.jaxws-api.zip_ jaxb-api.jar_cxf_jax-ws.jar_jaxb-api",...
这些文件是Java编程环境中常用的库文件,主要用于XML绑定(Java Architecture for XML Binding,JAXB)和JavaBeans Activation Framework(JAF)。在Java应用程序开发中,尤其是处理XML数据时,这些库扮演着至关重要...
`jaxb-impl.jar`是Java Architecture for XML Binding (JAXB)的一个实现包,它是Java平台标准版(Java SE)和企业版(Java EE)的一部分,主要用于XML到Java对象的绑定以及反之,使得开发者能够方便地在Java程序中...
jaxb-xjc.jar
Java Architecture for XML Binding (JAXB) 是Java平台中用于XML到Java对象绑定的标准技术,它允许开发者在Java程序中直接操作XML数据,而无需编写大量的XML解析和序列化代码。JAXB 2.3.0是该技术的一个版本,包含了...
`jaxb-api-2.1.jar` 和 `jaxb-impl-2.1.8.jar` 是Java应用程序中用于XML绑定(Java Architecture for XML Binding,简称JAXB)的重要库文件。JAXB是Java SE和Java EE平台的标准部分,它提供了一种将XML文档与Java...
有关Maven项目中缺少jaxb-api的异常报错解决,jaxb-core-2.3.0.jar
JAXB(Java Architecture for XML Binding)是Java平台上的一个标准,它提供了一种在Java对象和XML数据之间进行映射的机制。JAXB允许开发者将XML文档转换为可以直接在Java应用程序中使用的对象,同时也能够将Java...
赠送jar包:jersey-media-jaxb-2.22.2.jar; 赠送原API文档:jersey-media-jaxb-2.22.2-javadoc.jar; 赠送源代码:jersey-media-jaxb-2.22.2-sources.jar; 赠送Maven依赖信息文件:jersey-media-jaxb-2.22.2.pom;...
jaxb-api 内部含有jaxb的api,对java.xml.bind 进行了封装
在使用webservice,esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader错误.执行System.out.println(System.getProperty("java.endorsed.dirs"));输出jaxb-api-2.1.jar...
jaxb-2.2.jar jaxb jax
jaxb-libs.jar 下载 JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类。JAXB允许JAVA人员将JAVA类...
Android支持JAXB(Java Architecture for XML Binding) JAXB(Java Architecture for XML Binding)是Java领域中的一项标准技术,能够根据XML Schema生成Java类,并将XML实例文档反向生成Java对象树。JAXB提供了将...
**JAXB(Java Architecture for XML Binding)** 是Java平台中用于XML到Java对象绑定的一种标准技术,它允许开发者在Java程序中直接操作XML数据,而无需处理底层的XML解析细节。JAXB使得XML数据的处理变得更为简洁和...
Java Architecture for XML Binding (JAXB) 是Java平台标准的一部分,用于在Java对象和XML文档之间进行数据绑定。它使得开发者可以方便地将Java类转换为XML格式,反之亦然,无需编写大量的转换代码。JAXB提供了高效...
JAXB(Java Architecture for XML Binding)是Java SE的一部分,它允许开发者将XML文档和Java对象之间进行映射,实现XML数据的编解码。在Java 8中,JAXB是标准库的一部分,但自Java 9起,它被移出核心库,成为可选...
jackson-module-jaxb-annotations-2.8.8.jar