草庐IT

JAXB_FORMATTED_OUTPUT

全部标签

java - 来自 Web 服务编码错误的 JAXB 类

我有一些wsimport生成的JAXB类wsimport-dsrc/main/java-keep-extension-pmy.packagehttp://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL我将演示这个类的问题(只有@XmlRootElement是我自己添加的):packagemy.package;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind

java - 在非映射元素上产生 JAXB 错误

我正在尝试做相反的事情:JAXB-Ignoreelement也就是说,我正在尝试使用JAXB将XML解析为POJO,如果JAXBNOT为给定元素找到匹配的Java属性,我希望JAXB失败。我知道我可能会进行架构验证,但我宁愿不这样做。例子:@XmlRootElement(name="Dog")publicclassDog{privateStringname;publicStringgetName(){returnname;}publicStringsetName(Stringname){this.name=name};}这个XML会失败:blahStuff因为没有idJava属性

java - jaxb编码跳过空元素

使用JAXB可以确保空值不被编码为()空元素。例如publicclassContacts{@XmlElement(name="Phone")protectedListphone;}目前,如果电话元素之一为空,我会得到9196785432我想要以下输出9196785432 最佳答案 默认情况下,Null值不会被编码(marshal)为空元素。只有空值被编码为空元素在您的示例中,您使用的是包含空Phone对象元素的集合。列表中有两个元素:emptyPhone(所有字段均为null)和Phone对象,字段不为空。所以,publicclas

java - 如何将 jaxb 打印到 java 对象到记录器中

您好,通过以下链接,我可以将JAXB转换为java对象,并使用以下语句在控制台中打印它。http://www.mkyong.com/java/jaxb-hello-world-example/jaxbMarshaller.marshal(customer,System.out);但我想在记录器中打印输出。例如)log.info(客户)或log.debug(客户)我正在使用Apachelog4j。有人知道吗?? 最佳答案 下面是一种可能的方式..Customercustomer=newCustomer();//setcustomera

java - JAXB - 将元素绑定(bind)到 Set 而不是 List

有没有办法让JAXB为定义的元素生成CollectionSet而不是List?例如为此xsd生成一组书籍:当使用下面的bindings.xml时生成具有具体HashSet实现的书籍列表:Listbooks=newHashSet(); 最佳答案 我不认为它可以通过自定义绑定(bind)来完成,因为根据CustomizingJAXBBindings上的指南:collectionTypedefinesthecustomizationvaluepropertyCollectionType,whichisthecollectiontypefo

java - JAXB 2.1 - 自定义 xs :any binding

我想使用JAXB2.1XJC从xsd生成java代码。我提供了一个xsd模式,但我无法更改它。我想在从xml模式生成java类时使用xjc:simple模式。在xsd中有元素:如此处所述:http://jaxb.java.net/guide/Mapping_of__xs_any___.html我预计这些元素将绑定(bind)到:@XmlAnyElement(lax=true)publicObjectany;但是当我使用简单绑定(bind)模式时xjc:simple我有:@XmlAnyElementprotectedElementany;我试图找到一个解决方法,但到处都说xs:any是在

java - JAXB `beforeMarshal(Marshaller)` 方法应该返回什么?

首先,我不是在谈论Marshaller#Listener.我说的是那些classdefined事件回调。谁能告诉我booleanbeforeMarshal(Marshaller)方法应该返回什么?/***Whereisapidocsforthismethod?*WhatshouldIreturnforthis?*/booleanbeforeMarshal(Marshallermarshaller);我的意思是,无论如何,使用此方法将JPA的Long@Id转换为JAXB的String@XmlID使用JAXB-RI并且不使用MOXy.[编辑]void版本似乎可以工作。这只是文档问题吗?

java - 如何将 XmlAdapter 全局应用到 JAXB 程序?

我正在使用JAXB(通过一堆JaxWS和CXF)并尝试将BigDecimal类型编码为字符串(数字)和int(指数),因为我们现在有一个无法解释BigDecimal的前端,这要归功于语言环境问题。我正在尝试的是使用XmlAdapter将BigDecimal转换为我自己的类型BigDecimalUnScaled。只要我将@XmlJavaTypeAdapter注释直接放在字段上,这就可以正常工作。但是,我真正想做的是将它放在我的Web服务实现中,并让它全局应用于所有BigDecimals,而不必单独编码每个返回对象。我有什么办法可以做到这一点吗?例如InterfaceDummyWebSer

java - 使用 JAXB 解码具有不同/动态名称的元素

我正在解析具有如下节点的XML文档:..................元素data1、data2、data3总是一致的。只有父标记不同。在我的对象模型中,我有一个对象代表所有这些情况。在事先不知道元素名称的情况下,如何让JAXB处理这种情况?@XMLAnyElement匹配所有对象,但没有创建适当类型的对象;我得到了一个Node对象列表,而不是我的对象。我的对象目前看起来像:publicclassMyObject{protectedStringotherData;@XmlAnyElement@XmlElementWrapper(name="objects")protectedList

java - 向 JAXB 元素添加属性

我正在努力进行一些JAXB解析,需要一些指导。本质上,我正在尝试向我已经使用@XmlElement声明为元素的类变量添加属性。到目前为止,任何使用@XmlAttribute的尝试都会在类级别设置属性。我目前得到的是:IwishthiselementhadanattributeIwishthiselementhadanattributetoo我想这样做:ThisisbetterSoisthis我看到其他帖子使用@XmlValue将属性添加到单个元素,但是当您有元素时这不起作用,并且不会对多个元素起作用。有没有人想过如何实现这一点?谢谢!杰森 最佳答案