草庐IT

maven-jaxb-plugin

全部标签

java - 从 XML 文档、XSLT 和 JAXB 中删除元素

这个问题是我之前问题的后续:CreatingavalidXSDthatisopenusingandelements鉴于我有一个包含以下形式的XML文档的Java字符串:12:121234512:1225-10-2011helloshouldbeignored我如何使用XSLT或类似工具(在Java中使用JAXB)来删除不包含在一组元素中的所有元素。在上面的例子中我只对(TIME,OPTIONAL,DATE)感兴趣,所以我想把它改造成:12:1212:1225-10-2011元素的顺序不固定。 最佳答案 这个转换:应用于提供的XML文

java - JAXB 不生成所有元素类

对于REST服务,我在XML中定义了必要的DTO以生成它的JAXB对象。对于生成,我使用EclipseIDE的内置选项。问题是类没有按预期生成。鉴于下面的XML架构文件,我期望生成3个分类。ImageType、Image和Images。但是不会生成Image元素的Image类。目前我不知道我做错了什么。 最佳答案 您已将Image定义为ImageType类型的元素。Image因此只是与该类型一起使用的名称。ImageType定义将变成一个Java类,当Image元素在您的架构中的某处被引用时,这将导致类型为ImageType的字段注

java - JAXB XML 解码只看到根元素

我在将相当简单的XML文档解码为纯Java对象时遇到问题。这是我的XML的样子:RoleCodeCodesvoorrollenTheplayeroftheroleisamaleoffspringofthescopingentity(parent).Theplayeroftheroleisafemalechild(ofanytype)ofscopingentity(parent)它是一个更大文件的一部分,是用于表示人与人之间关系的Hl7v3代码系统的规范。我为CodeSystem和Code元素创建了两个Java类:@XmlRootElement@XmlAccessorType(XmlAc

java - 可以使用 JAXB(或 JAXB + StAX)编码 XML 的一部分吗?

我有一个非常庞大的XML结构。我想通过解码一个元素然后应用业务逻辑来更新此XML的各个部分。我能够将子元素解码为POJO。我想在Java中更改此POJO,然后在同一位置将其更新回XML。这在JAXB中可行吗?或者通过使用JAXB+StAX的组合。示例结构:folderDescUser2falsefiledescUser1false在上面的示例中,我能够将"file"元素解码为POJO。我想更改此POJO,然后在XML文件中的正确位置更新它。我怎样才能做到这一点?请帮帮我。谢谢。 最佳答案 您可以使用JAXB和StAX执行以下操作:i

java - JAXB 解码无法正常工作

我正在尝试使用JAXB将XML转换为对象,我的XML如下所示:0falseROLE_USERrepo:/public/adhoc/topics/JSDiagnosticTopic0falseROLE_ADMINISTRATORrepo:/public/adhoc/topics/JSDiagnosticTopic所以我创建了3个java类:EntityResource.java、Item.java和PermissionRecipient.java,如下所示:EntityResource.javaimportjava.util.List;importjavax.xml.bind.annot

java - 使用 JAXB 解码 XML 时出现 ClassCastException

我已经使用xjc生成了java类来自根元素为A的xsd类型AType.jaxb生成的根元素是AType&没有类(class)A已生成。当我尝试解码对应于该xsd的xml并转换JaxbElement时,它抛出一个转换异常:片段:JAXBContextjaxbContext=JAXBContext.newInstance(Class.forName("AType"));Unmarshallerunmarshaller=jaxbContext.createUnmarshaller();ATypeaType=(AType)unmarshaller.unmarshal(newByteArrayI

java - 如何使用 JaXB 获取验证事件?

我尝试使用Jaxb获取变量中的验证消息。从这里尝试示例http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/xml/bind/Unmarshaller.html我的代码:JAXBContextjaxbContext=JAXBContext.newInstance("com.piyush");SchemaFactoryfactory=SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);Schemaschema=fa

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