jaxb 相关问题

用于XML绑定的Java体系结构是将XML用作域对象的Java标准。它提供了一种将Java类映射到XML表示的简单机制。


JaxB 编组键、值对,其中值可以是另一个键、值对

我有这个对象,作为复杂对象的节点: 公共类参数实现可序列化 { @XmlElement(名称 = "键") 受保护的字符串键; @XmlElement(名称 = "值")

回答 1 投票 0

使用 JAXB 解组 XML

我有一些生成的类,看起来像这样: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "数据", propOrder = { “身体” }) @XmlRootElement(名称 = ...

回答 1 投票 0

Jackson:从 XSD 生成 Jackson 类

与 JAXB 为给定 XSD 生成 JAXB 类类似,Jackson 是否提供任何实用程序来从 XSD 或 JSON 生成 Jackson 类。 JAXB 类生成器已为 XSD 生成了一组类...

回答 1 投票 0

JAXB API 的 Java 8 到 Java 11 迁移问题

我们正在将项目从 Java 8 迁移到 Java 11。其中一个 API 依赖于利用 JAXB 的库。据我们所知,JAXB 已从 JAVA 11 中删除,我们开始包含 ...

回答 2 投票 0

JAXB 避免从 XSD 生成重复类

我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 <jaxb:bindings schemaLocation="../DMS_Dokument.Versenden_response.xsd"> <jaxb:bindings node="xsd:element[@name='toc']"> <jaxb:factoryMethod name="TOC"/> </jaxb:bindings> </jaxb:bindings> 我得到的错误是 原因:无法解析schema。应该提供错误消息 为了避免 JAXB 从 XSD 生成重复的类,您可以使用本地或外部绑定为生成的类定义不同的名称。 <jaxb:bindings node="XPATH"> <jaxb:class name="YourDistinctName"/> </jaxb:bindings> Java 类名重复的一个原因是在全局绑定中使用 toplevel 作用域。 注意: localScoping 属性的值可以是 nested 或 toplevel。此属性描述嵌套 XML 模式组件与嵌套模式派生的 JAXB 类或顶级模式派生的 JAXB 类的 JAXB 绑定。为了避免嵌套组件之间的命名冲突,该属性的默认值是嵌套的。当模式组件嵌套太深或应用程序不希望使用嵌套类或使用 JPA 时(JPA 第 2.1 节,实体必须是顶级类),开发人员可以将 localScoping 自定义为 toplevel。 例如,下载此演示 (zip) 并考虑其 XML 架构 trilogy.xsd,该架构对 Trilogy 书籍进行建模。它在根 trilogy 元素上定义一个 TOC,并为每个 book 定义另一个 TOC。该架构将每个 TOC 定义为匿名类型,并且每个 TOC 都有不同的用途。第一个目录描述了三本书的标题,但第二个目录是每本书的章节列表。两者具有相同的元素名称 <toc>...</toc>,如该 XML 实例 trilogy.xml 所示,但需要不同的 Java 类定义。 当模式被定制为使用 <jaxb:globalBindings localScoping=”toplevel”/> 时,JAXB 会尝试根据一个元素名称生成两种类型,这会导致名称冲突。 为了解决 Java 类名重复问题,演示使用 HiSrc BasicJAXB 项目中的工具来扫描 XSD 并输出这些建议的绑定:trilogy.xjb。例如,这是书 TOC 的装订: <jaxb:bindings node="//xs:element[@name='trilogy']/xs:complexType/xs:sequence/xs:element[@name='book']/xs:complexType/xs:sequence/xs:element[@name='toc']/xs:complexType"> <jaxb:class name="TrilogyBookTocType"/> </jaxb:bindings> 绑定使用 XPATH 选择目标节点,并将 Java 类名称声明为 TrilogyBookTocType。 演示提供了一个 bash 脚本来运行该工具,但它可以像这样手动运行... java -cp \ $HOME/.m2/repository/org/patrodyne/jvnet/hisrc-basicjaxb-tools/2.1.1/hisrc-basicjaxb-tools-2.1.1.jar \ org.jvnet.basicjaxb.util.CreateToplevelXJBindings \ --nested src/main/resources/trilogy.xsd 该工具将其输出发送到 stdout,您可以在其中将其复制/粘贴到绑定文件或架构中。 执行 该演示是一个独立的 Maven 项目。您可以使用以下命令运行测试: mvn -Ptest clean test mvn -Pexec compile exec:java 方法 hisrc-higherjaxb-maven-plugin 配置为使用提供的 trilogy.xsd 模式和绑定文件 trilogy.xjb 生成 JAXB 类。该模式提供了命名空间 "http://org.example/trilogy",JAXB 使用它来使用自己的命名约定创建 Java package 名称。 作为一个选项,可以使用这些 XJC hisrc-basicjaxb-plugins 生成 Java 内置 Object 方法的更高级实现。特别是,示例项目使用 toString 插件来显示未编组的 Trilogy 对象的人类可读表示。 hisrc-basicjaxb-插件 <args> <arg>-no-header</arg> <arg>-XhashCode</arg> <arg>-Xequals</arg> <arg>-XtoString</arg> </args> 注意: 使用 XJC hisrc-basicjaxb-plugins 时,运行时类路径需要 hisrc-basicjaxb-runtime 依赖。 测试 JUnit 测试类 TrilogyTest.java 扫描示例文件并调用方法 checkSample(File sample) 将每个文件提供给测试人员。对于此项目,创建了一个 JAXBContext,并且 samples 路径中的每个文件都被 unmarshaled 为 Trilogy 对象。成功后,每个对象都会被编组以用于日志记录和您的审查。 示范 具有 main(...) 方法的 Java 标准引擎应用程序位于 org.example.trilogy.Main。该应用程序使用以下命令执行: mvn -Pexec compile exec:java -Dexec.args="src/test/samples/trilogy.xml" 免责声明:我是这些HiSrc项目的维护者。

回答 1 投票 0

hisrc-higherjaxb-maven-plugin 生成 xsd 文件的源代码,但不会使用 XmlElementDecl 注释 ObjectFactory 中的所有元素

这是(onvif.xsd)我尝试使用 hisrc-higherjaxb 生成源代码的模式文件。 这是我的 pom.xml 配置的一部分, org.patrodyne.jvnet&...

回答 1 投票 0

编译 WSDL 文件时出现错误/警告 - 但生成的 Java 源代码正常 -Java17 spring boot 3.0

我的要求 spring boot 3.0 Java 17。我的代码使用 jaxb2 插件适用于 java 1.8 spring boot 2.7.11。我已将插件更新为 jaxb30-maven-plugin。自动生成的java代码就可以了。构建是

回答 1 投票 0

maven-cxf-codegen-plugin 使用 Jaxb 绑定为所有生成的类添加继承

我正在使用 Apache CXF 的 cxf-codegen-plugin 将 wsdl 转换为 java 对象。我指定了一个绑定文件来添加额外的 jaxb 处理。我希望所有这些文件都从接口继承(或

回答 2 投票 0

如何将 xmlns:tns="http://schemas.xmlsoap.org/soap/encoding/" 添加到肥皂请求

我编写了一个调用soap服务的客户端,但它发送的请求不是我所期望的。 这是我的代码: 公共MessageResponse traGiayToHoSo(MessageRequest请求){ 留言乱七八糟...

回答 1 投票 0

当我们尝试执行 jaxb-object-to-xml-transformer 时,我们在 Mule ESB 中遇到 java.util.ConcurrentModificationException

在 Mule 3.9.0 中,当我们尝试使用 jaxb 将对象转换为 XML 时,我们收到以下错误 消息:null(java.util.ConcurrentModificationException) 元素...

回答 1 投票 0

是否可以从 Fhir XML 模式 (.xsd) 或 Fhir JSON 模式生成带有 Jackson 注释的 POJO 类?

在JDK中我们可以使用xjc *.xsd命令来生成POJO。生成的类将具有 XML 注释,例如 jakarta.xml.bind.annotation.XmlType。 但我对 Jackson 的 POJO 感兴趣

回答 1 投票 0

如何指定特定的 JAXB 实现?

似乎我过去已经做过一次,但我找不到任何关于我为使其工作所做的事情的参考。 我有一个 Web 应用程序,我想在其中指定不同的...

回答 2 投票 0

While 循环在解组时不循环遍历整个 xml 字符串

我有一个已解组的 xml 字符串,但它只返回第一部分。我相信我的 while 循环不正确。 while(xsr.hasNext()){ if(xsr.isStartElement() && "list".equa...

回答 1 投票 0

JAXB 解组单元测试在 Eclipse 中成功,但在 gradle 测试中失败并显示“JAXB 无法处理接口”

这是一个单元测试,当我在 Eclipse 中运行它时,它可以成功运行,但当我使用 gradle 命令行“gradle test”运行它时,它会失败。 包 com.mycompany.user; 导入静态 org.junit.Assert。

回答 1 投票 0

JAXB 未将请求类转换为所需的 xml 格式

我有一个 springboot 模块,我在其中使用 @XmlRootElement(name='request') 重命名它为 api 休息调用创建的 xml 请求,但代码正在生成带有类名 ins 的请求...

回答 1 投票 0

Spring Boot 项目不断抱怨 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 即使我已经添加了依赖项

将 Spring Boot 从 2.1.9 JDK 8 升级到 2.7.16 JDK 17 我知道 JAXB 需要作为依赖项包含在内,并且我已将以下行添加到 build.gradle 实施组:'javax.xml.

回答 1 投票 0

Jackson 在序列化为 JSON 时无法考虑 @XmlElement

我有一个合约类,其中包含带有 @XmlElement 标记的元素。对于前 @XmlElement(名称 = "余额") 受保护金额余额金钱; 使用 JAXBContext 我能够生成 xm...

回答 3 投票 0

JAXB 3 在 setter 方法中支持属性更改

过去存在 org.jvnet.jaxb2maven 插件的 property-listener-injector 插件。 人们仍然可以在 Maven 中央仓库中找到该插件:org.jvnet.jaxb2-commons:property-listener-

回答 1 投票 0

将 JAXB 从 javax 迁移到 jakarta 后,XJC 抛出 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException [已关闭]

我想要实现的目标 将 Spring 应用程序(不是 Spring boot)从 Java 8 移至 17,将 Tomcat 8 移至 10。 问题 遵循这个问题后,我替换了 javax 库(主要用于 xml bin...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.