草庐IT

jaxb_lib

全部标签

java - 删除 xsi :type information from xml/json JAXB?

我正在使用JAXB将我的域模型转换为XML和JSON表示。我有Studentpojo可以转换为XMl/JSON。它有一个content属性,可以是任何数据类型。它的模式定义:因此生成的java文件具有Object类型的内容。学生.java:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="",propOrder={"content"})@XmlRootElement(name="student")publicclassStudentextendsPeople{................@XmlElement(required=

java - 使用 JAXB 和 Stax 对 XML 文档进行验证

我已经创建了一个XML模式(foo.xsd)并使用xjc为JAXB创建了我的绑定(bind)类。假设根元素是collection,我正在编写N个复杂类型的document对象。因为我打算写出大型XML文件,所以我使用Stax写出collection根元素,并使用JAXB使用Marshaller.marshal(JAXBElement,XMLEventWriter)编码文档子树。这是jaxb'sunofficialuser'sguide推荐的方法.我的问题是,如何在编码XML时对其进行验证?如果我将模式绑定(bind)到JAXB编码器(使用Marshaller.setSchema()),

java - 在多个服务之间重用 CXF jaxb 上下文

我有多个服务可以返回数千个类的结果。由于每个CXF服务都包含一个私有(private)的几乎相同的JAXB上下文,这会造成巨大的内存浪费。有没有办法自己创建JAXB上下文并在服务之间共享它? 最佳答案 一种可能的解决方法是在spring配置中添加以下内容:其中的值只是对持有全局(单个)JAXBContext并具有以下方法的bean的引用:publicjavax.xml.bind.JAXBContextgetContext(){...}您可以在以下线程中查看更多详细信息(包括CXF大师DanielKulp的输入):Reuse-JAXB

java - JAXB RI ClassFactory 中的空指针异常

介绍我和我的friend正在开发一个JavaFX应用程序,它充当我们学校的规划师。我们有任务(类作业)、Activity、类(class)和学生信息。为了尝试将数据持久存储在用户的硬盘上,我们使用JAXB。我们已经注释了我们的类,并且可以在包装器中成功编码Task类。问题是从tasks.xml解码文件。以下是相关的代码行:任务.java@XmlRootElementpublicclassTask{//constructors//completeconstructorpublicTask(StringclassName,Stringassignment,Stringdescription

java - 针对仅具有复杂类型的模式的 Jaxb 验证

我有一个包含请求和响应元素的wsdl:这个wsdl导入了一些xsd,其中包含以下复杂类型:......我想根据这个wsdl验证一个xml,但我无法让它工作。我基本上使用了http://actimem.com/java/jaxb-validation/#Marshalling_Validation中描述的方法,通过编码对象并设置Schema和EventHandler。如果我将架构设置为xsd,它将无法验证,因为xsd中没有元素。这很合乎逻辑,我对其他工具也一样。当我将wsdl用作架构时,由于内联文档而出现此错误:s4s-elt-character:Non-whitespacecharac

java - JAXB 2.x : How to override an XmlElement annotation from parent class - Mission Impossible?

为什么这不可能?看起来很简单,但它的行为并不像预期的那样。总结:A类使用聚合的DataAbean,而B类(A类的子类)使用聚合的DataBbean(而DataB扩展了DataA)。我编写了这些测试类来可视化和解释我的问题:A类:packagetest;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.X

java - 生成实现接口(interface)的 JAXB 类

我目前正在使用JAXB生成Java类以解码XML。现在我想创建一个与第一个非常相似的新模式,并让生成的类实现相同的接口(interface)。例如,我有两个模式文件,它们用相似的标签定义XML:成人.xsdchild.xsd我想使用JAXB和XJC生成两个类文件:publicclassAdultimplementsPerson{...publicStringgetName(){...}publicintgetAge(){...}publicStringgetJob{...}}publicclassKidimplementsPerson{...publicStringgetName(){

java - JAXB for lists 为 JSON 或 XML 自然返回

我将MOXy与Jersey一起使用来实现RESTfulAPI,并希望自然地为JSON和XML返回列表,我的意思是XML包含用于整个集合以及集合项的元素标记,而JSON仅包含集合的标签。例如,我想返回一个包含设施和位置嵌套列表的“组织”资源。作为XML:1XYZ1Telephone3Whiteboard1REGIONLondon2REGIONManchester作为JSON:{"id":1,"name":"XYZ","facilities":[{"id":1,"text":"Telephone"},{"id":3,"text":"Whiteboard"}],"locations":[{"

java - 使用 org.springframework.oxm jaxb2marshaller 追加 CDATA

我在使用jaxb2marshaller使用CDATA将少数元素编码为XML时遇到了大麻烦。我已经完成了以下解决方案:JAXBMarshallingUnmarshallingwithCDATAHowtogenerateCDATAblockusingJAXB?等等,但找不到合适的解决方案。他们要么告诉切换到旧的JAXB实现,要么使用MOXY。但是,这不是我的要求。我使用OXM库实现了以下两个类,并希望生成一个XML,其中很少有元素需要附加CDATA。importjava.util.HashMap;importjava.util.Map;importorg.springframework.c

java - Chameleon XSD 导入的 JAXB 解决方法?

这是我的第一个问题,所以请保持温和;)我遇到了一个奇怪的问题。基本上我得到了如下三个XSD定义:PartA.xsdtargetNameSpace="PartA"include="PartB.xsd"PartB.xsdPartC.xsdtargetNameSpace="PartC"inlude="PartB.xsd"import="PartA.xsd"当通过JAXB将PartC绑定(bind)到Java类时,弹出错误:同名“b.exampleType”的类/接口(interface)已被使用。使用类自定义来解决此冲突。发生这种令人困惑的错误很可能是因为该模式使用了一种称为“变色龙模式”的