草庐IT

jaxb-episode

全部标签

java - JAXB 将空的 int XML 属性设置为 0

JAXBtreetsemptyintXMLattributeas0,这对我来说没问题,但我需要将它存储为null。似乎我无法将DataConverterImpl类更改为自定义实现。如果有的话可以做什么?UsedforIntegervalues,from0to999inclusive在xjc模式编译后,我得到了以下类:@XmlAttribute(name="Count")protectedIntegerpassengerCount;在XML解析期间,parseInt()从Sun(Oracle)的DataConverterImpl.class调用,下面是代码,您永远不会从此代码中获取nul

java - 避免在 MOXy (JAXB+JSON) 中创建对象包装器类型/值

我正在使用MOXy2.6(JAXB+JSON)。我希望ObjectElement和StringElement以相同的方式编码,但MOXy在字段类型为Object时创建包装器对象。ObjectElement.javapublicclassObjectElement{publicObjecttestVar="testValue";}StringElement.javapublicclassStringElement{publicStringtestVar="testValue";}Demo.javaimportjavax.xml.bind.JAXBContext;importjavax.x

java - 如何使用 JAXB 为 XML 中的空元素生成结束标记

我正在使用JAXB生成XML。但是JAXB正在生成一个空标签,将其自行关闭。但我的客户想要单独的空标签。我知道两者是平等的,但他不同意我的看法。请任何人提出解决方案。谢谢。示例代码:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="",propOrder={"currencyCode","discountValue","setPrice","spendLowerThreshold","spendUpperThreshold","discountApportionmentPercent","discountApportionmentV

java - 使用 Jaxb 和 JDK 9 的小程序中的非法反射访问

这个问题在这里已经有了答案:ProperfixforJava10complainingaboutillegalreflectionaccessbyjaxb-impl2.3.0?(4个答案)关闭去年。我有一个Java小程序,它提供了一个GUI来调用Web服务。它使用Jaxb解析XML数据并将其解码为对象。它可以在Java1.5到1.8中正确运行。有了Java9,就没有那么多了。我使用容器HTML在InternetExplorer8+JDK9中启动它:小程序加载正常,似乎工作正常;然而,一旦我连接到Web服务,它就会停止工作。有点。我已经将它缩小到这个代码片段(其中Foo是一个带有XML绑

java - 如何使用 JAXB 读取 XML 文件?

我使用JAXB从XML模式生成Java类。现在我想读取包含这些类的XML文件,但不能。我试试这个JAXBContextjaxbContext=JAXBContext.newInstance(STDMP.class);UnmarshallerjaxbUnmarshaller=jaxbContext.createUnmarshaller();STDMPts=(STDMP)jaxbUnmarshaller.unmarshal(xml_gkuzu);System.out.println(ts.getEDocument().getSender().getName());并得到这个异常Except

java - JAXB:泛型的多态性

我正在尝试使用JAXB(在Jersey内部)通过泛型实现多态性:@XmlRootElementpublicclassPerformance{@XmlAnyElementprivateListmeasurement;}@XmlJavaTypeAdapter(MeasurementAbstract.Adapter.class)publicinterfaceIMeasurementextendsSerializable{DgetDate();voidsetDate(Ddate);VgetValue();voidsetValue(Vvalue);}@XmlTransient@XmlAccess

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