jaxb 相关问题

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

javax.xml.bind.JAXBException 在模块路径或类路径上未找到 JAXB-API 的实现

我正在尝试在 Java 9 上运行我的 Spring Boot 应用程序,并且我遇到了 JAXB 问题,该问题在指南中进行了描述,但对我来说不起作用。我添加了对 JAXB api 和应用程序的依赖...

回答 10 投票 0

Pbm 通过 JAXB2 生成的类对 XML 进行编组

今天是我想我会发疯的一天。 我想生成一些代码以便能够 mashshall/unmarshall XML 文件。 我从一个 XSD 开始,将其传递给 JAXB2 以生成 Java 类 v...

回答 1 投票 0

JAVA spring SOAP 响应中句柄字符串为空

我在春季使用 jaxb 进行肥皂服务。我有一个字段“名称”,其值为空字符串(“”)。 我发现api的响应是 但我想要 我在春天使用 jaxb 进行肥皂服务。我有“名称”字段,其值为空字符串(“”)。 我发现api的响应是 <name/> 但是我想要 <name></name> 我在下面有集合的定义和测试名称案例,但仍然不匹配。 是否可以配置 JAXB 或创建一些适配器来修复它。 @XmlElement(required = true, nillable = true) protected String name; @XmlElement() protected String name; @XmlElement(required = false) protected String name; 在 XML 中,<name/> 和 <name></name> 的处理方式相同,都表示空元素。即使您设法创建后一种表示形式,您也必须告诉 XML 文档的对应部分您赋予了它特殊的含义。这不是一个好主意。 也许这会对您有所帮助:当使用 JAXB 进行解组时,<name/> 的纯粹存在会导致空字符串,而缺少元素会导致字符串为 null。

回答 1 投票 0

如何将命名空间定义从根元素移动到 JAXB 中的特定子元素?

我正在开发一个 Java 应用程序,它使用 JAXB 将 Java 对象编组到 XML 中。目前,生成的 XML 如下所示: 我正在开发一个 Java 应用程序,它使用 JAXB 将 Java 对象编组到 XML 中。目前,生成的 XML 如下所示: <A xmlns="A" xmlns:ns2="B" xmlns:ns3="C"> <t1>content</t1> <t2> <ns2:t3> <ns2:t4>content2</ns2:t4> </ns2:t3> </t2> </A> 命名空间定义放置在根标签“A”中。而且,某些命名空间(例如“C”)甚至没有被使用。我想将命名空间定义放置在内部子级中代替前缀。例如,我想获取以下xml: <A xmlns="A"> <t1>content</t1> <t2 xmlns:ns2="B"> <t3> <t4>content2</t4> </t3> </t2> </A> 这两个 xml 都是有效的,但我需要生成第二个输出才能通过第三方应用程序的验证。 我怎样才能实现这个目标? 谢谢你。 请注意,xmlns:name="..."仅将命名空间与前缀相关联。具有此前缀的任何元素都将属于关联的命名空间。没有前缀的元素属于默认命名空间。 因此... 在您的第一个示例中,从未使用命名空间 C。 在第二个示例中,使用的唯一命名空间是默认命名空间,因为两个元素都没有前缀。 除此之外,将命名空间声明放在哪里并不重要,只要在需要时声明它们即可。 <A xmlns="A" xmlns:ns2="B"> <t1>content</t1> <t2> <ns2:t3> <ns2:t4>content2</ns2:t4> </ns2:t3> </t2> </A> 相当于 <A xmlns="A"> <t1>content</t1> <t2> <ns2:t3 xmlns:ns2="B"> <ns2:t4>content2</ns2:t4> </ns2:t3> </t2> </A> 使用 JAXB 时,您必须使用 XmlElement 注释定义命名空间: @XmlElement(name = "t3", namespace = "B") protected T3 t3; 对应属于此命名空间的任何其他元素重复此操作。

回答 1 投票 0

有没有办法跳过使用 JAXB XML 到 Java 生成类?

我有一个模式,我试图使用它(未修改)来使用 XJC 创建 Java 类/枚举。然而,对于几个已实现的类,我有不同的实现。 所以我用的是nor...

回答 1 投票 0

使用maven自动生成jaxb.index文件

我有一个包,里面有多个java类。 我需要读取带有包的类数据的 xml 文件。 有没有一种自动方法(使用maven)来生成ObjectFactory类或jaxb...

回答 3 投票 0

当我们需要使用与另一个复杂类型几乎相似的值创建复杂类型时,使用complexContent还是创建复杂类型更好?

假设我有以下格式的复杂类型 假设我有以下格式的复杂类型 <xsd:complexType name="MyComplexType"> <xsd:sequence> <xsd:element name="FirstName" type="xsd:string"/> <xsd:element name="LastName" type="xsd:string"/> <xsd:element name="Age" type="xsd:int"/> <!-- Add more elements here as needed --> </xsd:sequence> </xsd:complexType> 现在如果想要另一种与MyComplexType具有相同内容的复杂类型,以下哪一个是最好的方法? 使用复杂内容 <xsd:complexType name="CustomComplexType"> <xsd:complexContent> <xsd:extension base="MyComplexType"> <xsd:sequence> <xsd:element name="FirstName" type="xsd:string"/> <xsd:element name="LastName" type="xsd:string"/> <!-- Add more elements here as needed, excluding Age --> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> 使用选择 <xsd:complexType name="MyComplexType"> <xsd:sequence> <xsd:choice> <xsd:element name="FirstName" type="xsd:string"/> <xsd:element name="LastName" type="xsd:string"/> <!-- Add more elements here as needed --> </xsd:choice> </xsd:sequence> </xsd:complexType> 完全创建新的复杂类型 <xsd:complexType name="MySimplifiedComplexType"> <xsd:sequence> <xsd:element name="FirstName" type="xsd:string"/> <xsd:element name="LastName" type="xsd:string"/> </xsd:sequence> </xsd:complexType> 为了方便且不影响现有模式,我采用了创建新的复杂类型的第三种方法。但想知道哪一种是最好的方法? 注意:无法针对我的案例编辑现有类型,因此也排除了第二个选项。但仍然希望包括在内,以便知道这是否是最好的方法。 如果从用例的角度来看,您的类型彼此不相关,您应该使用不同的类型来避免不相关实体之间的耦合。如果它们独立发散,稍后会节省您的精力。 如果它们相关,您可以利用扩展。将公共属性取出为一个基本类型,并从该基本类型扩展其他类型。 <xsd:complexType name="MyBaseComplexType"> <xsd:sequence> <!-- Common Elements --> <xsd:element name="FirstName" type="xsd:string"/> <xsd:element name="LastName" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CustomComplexType"> <xsd:complexContent> <xsd:extension base="MyComplexType"> <xsd:sequence> <xsd:element name="Age" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="OtherCustomComplexType"> <xsd:complexContent> <xsd:extension base="MyComplexType"> <xsd:sequence> <xsd:element name="SomeOtherAttribute" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> CustomComplexType和OtherCustomComplexType现在将包含FirstName和LastName

回答 1 投票 0

获取 SIGTERM 命令后,异步方法中的 Soap 服务不起作用

我使用Java编程语言和SprongBoot。我在收到 SIGTERM 命令时实现了应用程序的正确终止。 设置 SpringBoot 的设置: `服务器: 关机:gr...

回答 1 投票 0

使用 JAXB 将字符串解组为 java 对象

我正在使用 JAXB unmarshaller 将 xml 字符串转换为 java 对象,但是我收到一个错误,我不知道这是什么意思 线程“main”中的异常 jakarta.xml.bind.UnmarshalExcept...

回答 1 投票 0

已解决 - Spring Boot Starter Mail - 无法从 javax.activation.MimetypesFileTypeMap 类访问 com.sun.activation.registries.LogSupport 类

我想分享使用 Spring Boot Starter Mail 并尝试创建 MimeMessageHelper 实例时出现异常的上述问题的解决方案: 无法访问 com.sun.activation 类。

回答 1 投票 0

使用 JAXB 从 XML 字符串创建对象

如何使用下面的代码来解组 XML 字符串并将其映射到下面的 JAXB 对象? JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); 解组器解组器 = jaxbContext。

回答 6 投票 0

使用 WSDL 到 Java (wsdl2java) 时通过自定义绑定替换 XMLGregorianCalendar

我的目标是用不同的 Java 类(例如 java.time.LocalDate)替换 XMLGregorianCalendar。 我正在将 wsdl2java 作为 Maven pom.xml 文件的一部分运行: org.apache.cx...

回答 3 投票 0

如何使用jaxb2生成复数名称

我确实找到了如何自定义 JAXB 生成复数方法名称的方式? ,但这个问题已经有 10 多年历史了,因为我不得不更改对雅加达的绑定,所以接受的答案不起作用......

回答 1 投票 0

JAXB编译jdk 20(> = 11)

我正在尝试将我的项目迁移到JDK 20(我是java模块化的新手) 该项目非常简单,它是一个具有 Google Kml 类的 JAXB 编译实用程序。 我创建了 module-info.java ...

回答 0 投票 0

How to add custom String to List<String> jaxb xml adapter to an xsd generated class attribute

我们长期以来一直在使用 jaxb 将 XML 解组为我们可以在我们的系统中使用的 POJO。但是,直到最近我才发现 jaxb 如何解析 xml 提供的数据的问题,我...

回答 0 投票 0

使用 XJC 编译器使用 XSD 文件时如何删除生成的类文件的根元素中的命名空间

如何使用xjc 插件编译生成的XSD 文件的类文件的根元素中删除名称空间。我正在使用 JDK17 和 Jakarta。我只想将名称空间保留给子元素...

回答 0 投票 0

Java-WS:是否可以对一个参数使用原始 XML 而对其余参数仍然使用 JAXB 对象?

我正在编写一个将在 WebSphere 上运行的 Java Web 服务客户端。我在 RAD Developer 中创建了一个新的“Web Service Client”项目,给它我的 WSDL,指定“Top down Java Bean&...

回答 1 投票 0

如何同时指定jaxws和jaxb绑定实现@XmlRootElement

我继承了一个与基于 SOAP 的 Web 服务通信的项目。我在这方面完全是个菜鸟,尽管我已经使用 Java 多年并且在 XML 方面做得很好。 我们有一个 WSDL f...

回答 2 投票 0

DomHandler 为多个记录捕获文本

我正在尝试将 @XmlAnyElement 与 DomHandler 一起使用,以捕获特定字段中未解析的文本,例如 Blaise Doughan 的示例。但是当我尝试解析多个客户时......

回答 2 投票 0

Spring boot 3 控制器返回没有命名空间的 jaxb 类

我有一个 spring boot 3 项目,依赖于 com.sun.xml.bind::jaxb-impl::5.0.0, 像这样的班级 @XmlRootElement(name = "Exhibitor", namespace = "http://xyz/exhibitorProfile") p...

回答 0 投票 0

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