草庐IT

JAXB_FORMATTED_OUTPUT

全部标签

java - JAXB 空元素解码

问题出在下面:我得到了里面有空元素的soap响应(例如......)结果当JAXB想要解析这个元素时抛出异常而不是使用null设置适当的字段值(value)。如何配置JAXB将空元素视为null?我们可以仅使用JAXB来做到这一点吗(不使用某些第三方解决方法) 最佳答案 基础问题空String不是xsd:date类型的有效值。为了对XML模式有效,可选元素应表示为不存在的节点。为什么基础问题会影响您所有JAXB实现都将识别空String不是xsd:date的有效值。他们通过将其报告给ValidationEventHandler的实例

java - 如何在使用 JAXB 后在 XML 中声明属性的顺序,无论是在 Maven 中还是在其他地方

我正在使用JAXB将一些XML解码为字符串。然而,当通过Maven运行我们的构建脚本时,属性的顺序与原始XML不同。这导致一些在Eclipse中完美通过的单元测试失败。知道为什么会发生这种情况吗?这里有很多类似的问题,但很难找到可靠的答案。:) 最佳答案 属性在XML中出现的顺序并不重要,而元素出现的顺序很重要。与大多数XML技术一样,JAXB不保证属性出现的顺序。您的单元测试需要考虑到这一点。注意当使用Unmarshaller和Marshaller时,输出XML基于映射元数据而不是输入XML的顺序。元数据允许您指定元素的顺序而不是

带有 JAXB 类包装器的 Java Unmarshal 对象列表

我从BaseX服务器执行的XQuery中得到这样的结果:12014-06-23...我需要使用JAXB将此结果转换为Protocollo对象列表,以便我可以使用JList显示它们。因此,以下讨论之一here我已经声明了以下类:importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name="protocollo")publicclassProtocollo{privateintnumero;privateStringdata;pr

java - 使用 DTD 文件导致的 JAXB 解码 XML 时出错

我尝试使用JAXB(test.xml)解码一个文件XML文件(javax.xml.bind.JAXB)但它给了我这个错误:[org.xml.sax.SAXParseException;systemId:file:/C:/Users/EXAMPLE/AppData/Local/Eclipse/workspace_4.4.0/EXAMPLE/test.xml;lineNumber:2;columnNumber:42;ExterneDTD:LesenvonexternerDTD"example.dtd"nichterfolgreich,da"file"-Zugriffwegendervond

java - 如何忽略 JaxB 中元素名称的大小写

如标题所述,我想忽略文档中元素名称的大小写。staticclassXY433{@XmlAttribute(name="C200")Stringc200;@XmlAttribute(name="C215")Stringc215;@XmlAttribute(name="F001")Stringf001;@XmlAttribute(name="f001")Stringlcf001;//Iwanttoavoidthisduplication}我尝试使用BlaiseDoughan发布的代码:privatestaticclassToLowerCaseNamesStreamReaderDelegat

java - 如何避免 JAXB 序列化的 public int 字段?

如何避免字段被序列化?我使用xml属性。当前字段没有属性但获取xml... 最佳答案 使用@XmlTransient注释您要排除的字段。 关于java-如何避免JAXB序列化的publicint字段?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12457252/

java - 编码时如何将命名空间属性添加到 JAXB 中的元素?

我正在使用eBay的LMS(大型商户服务)并不断遇到错误:org.xml.sax.SAXException:SimpleDeserializerencounteredachildelement,whichisNOTexpected,insomethingitwastryingtodeserialize.经过大量的反复试验,我找到了问题所在。事实证明这是可行的:5830虽然这(我一直在发送的)没有:5830不同之处在于AddFixedPriceItemRequest上的XML命名空间属性。我的所有XML目前都通过JAXB进行编码,我不确定将第二个xmlns属性添加到文件中不同元素的最佳方

java - XMLBeans 或 JAXB 哪一个更适合模式到代码生成?

想要使用XML模式库来生成代码,并且想知道人们是否在XMLBeans和JAXB之间有偏好。性能、模式验证能力、内存使用……任何指标都会有所帮助…… 最佳答案 我个人的偏好是JAXB。它有一个更现代的方法,使用注释和许多Java5特性。另一方面,XMLBeans仍然与Java1.4兼容——如果您需要的话。排名不分先后的其他一些想法是:从Java6开始,JAXB与JDK捆绑在一起-因此开箱即用。JAXB使用带注释的Java(类似POJO)类-XMLBeans生成接口(interface)而不是类JAXB允许注释Java类以将它们用于编码

java - 如何向 JAXB 中的文本元素添加属性?

如何使用JAXB生成以下XML片段?MPTINSALRKVARVRLTSG我的类如下:@XmlType(name="SequenceType")publicclassSequence{privateStringmd5;privateStringsequence;@XmlAttributepublicStringgetMd5(){returnmd5;}//JAXBannotationhere??publicStringgetSequence(){returnsequence;}} 最佳答案 序列属性上的@XmlValue。@XmlTy

java - 告诉 jaxb 不要删除下划线

有没有办法告诉JAXB在从XML模式创建getter/setter名称时不要删除下划线?原因:这会导致信息丢失,并且很难在XML和Java之间转换;例如在书面交流中,一位参与者可能会对“不同的名字”感到困惑。示例:NR_ROR不应变为getNRROR,而应变为getNR_ROR。注意:我相信较少损坏的名称值得“违反”Java命名约定。TIA卡罗尔文 最佳答案 创建自定义绑定(bind)并将“underscoreBinding”设置为“asCharInWord”。一种方法是创建一个名为binding.xjb的文件并使用-b标志告诉xj