草庐IT

java - 如何仅从 XML 生成 JAXB 类

我需要从不提供架构的xml生成类。我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建模型。过去我是手工完成的,但是我正在使用的当前xml文档非常大,我的时间可能会更好地用于构建可以满足我需要的东西。但是,我猜它已经完成了,我只是找不到它。任何指针? 最佳答案 有许多可用的工具(快速的google搜索应该会找到一些)可以从XML生成XSD,假设几乎所有内容都是字符串类型。您应该能够使用该XSD运行JAXB来获取类。这是onlinetool让你这样做。这是一个屏幕截图:

java - 如何仅从 XML 生成 JAXB 类

我需要从不提供架构的xml生成类。我知道这几乎没用,但事实是我们有xml,它是结构化的,我们应该能够从xml创建模型。过去我是手工完成的,但是我正在使用的当前xml文档非常大,我的时间可能会更好地用于构建可以满足我需要的东西。但是,我猜它已经完成了,我只是找不到它。任何指针? 最佳答案 有许多可用的工具(快速的google搜索应该会找到一些)可以从XML生成XSD,假设几乎所有内容都是字符串类型。您应该能够使用该XSD运行JAXB来获取类。这是onlinetool让你这样做。这是一个屏幕截图:

java - JAXB:如何将映射编码为 <key>value</key>

问题是关于JAXBmap编码-有很多关于如何将map编码为如下结构的示例:KEYVALUEKEY2VALUE2...事实上,JAXB本身就支持这一点。然而,我需要的是XML,其中key是元素名称,value是它的内容:VALUEVALUE2...我没有按照JAXB开发人员(https://jaxb.dev.java.net/guide/Mapping_your_favorite_class.html)推荐的方式成功实现我的Map适配器,因为我需要,他-动态属性名称:)有什么解决办法吗?附:目前,我必须为要编码为XML的每组典型的键值对创建一个专用的容器类-它可以工作,但我必须创建太多的

java - JAXB:如何将映射编码为 <key>value</key>

问题是关于JAXBmap编码-有很多关于如何将map编码为如下结构的示例:KEYVALUEKEY2VALUE2...事实上,JAXB本身就支持这一点。然而,我需要的是XML,其中key是元素名称,value是它的内容:VALUEVALUE2...我没有按照JAXB开发人员(https://jaxb.dev.java.net/guide/Mapping_your_favorite_class.html)推荐的方式成功实现我的Map适配器,因为我需要,他-动态属性名称:)有什么解决办法吗?附:目前,我必须为要编码为XML的每组典型的键值对创建一个专用的容器类-它可以工作,但我必须创建太多的

java - JAXB:如何在解码 XML 文档期间忽略命名空间?

我的架构指定了一个命名空间,但文档没有。在JAXB解码(XML->对象)期间忽略命名空间的最简单方法是什么?换句话说,我有而不是, 最佳答案 这是VonCs解决方案的扩展/编辑,以防万一有人不想经历实现自己的过滤器的麻烦来执行此操作。它还展示了如何在不存在namespace的情况下输出JAXB元素。这一切都是使用SAX过滤器完成的。过滤器实现:importorg.xml.sax.Attributes;importorg.xml.sax.SAXException;importorg.xml.sax.helpers.XMLFilterI

java - JAXB:如何在解码 XML 文档期间忽略命名空间?

我的架构指定了一个命名空间,但文档没有。在JAXB解码(XML->对象)期间忽略命名空间的最简单方法是什么?换句话说,我有而不是, 最佳答案 这是VonCs解决方案的扩展/编辑,以防万一有人不想经历实现自己的过滤器的麻烦来执行此操作。它还展示了如何在不存在namespace的情况下输出JAXB元素。这一切都是使用SAX过滤器完成的。过滤器实现:importorg.xml.sax.Attributes;importorg.xml.sax.SAXException;importorg.xml.sax.helpers.XMLFilterI

java - 无法使用 JAXB org.springframework.oxm.UnmarshallingFailureException 解析 XML 消息

我正在使用以下代码解析soap响应,但我收到UnmarshallingFailureException,我将@XmlSeeAlso更改为@XMLRootElement,但问题仍然存在。WSDL是here.Causedby:javax.xml.bind.UnmarshalException:unexpectedelement(uri:"ElsyArres.API",local:"SearchFlightsResponse").Expectedelementsare,,,,,,,代码@XmlRootElement(name="SoapMessage")@XmlAccessorType(Xm

java - 无法使用 JAXB org.springframework.oxm.UnmarshallingFailureException 解析 XML 消息

我正在使用以下代码解析soap响应,但我收到UnmarshallingFailureException,我将@XmlSeeAlso更改为@XMLRootElement,但问题仍然存在。WSDL是here.Causedby:javax.xml.bind.UnmarshalException:unexpectedelement(uri:"ElsyArres.API",local:"SearchFlightsResponse").Expectedelementsare,,,,,,,代码@XmlRootElement(name="SoapMessage")@XmlAccessorType(Xm

java - 为 spring Jaxb2Marshaller 指定一个包而不是 "classesToBeBound"

我正在尝试使用Jaxb2Marshaller来编码一组使用spring的java类。我知道这可以使用以下代码完成com.example.test1com.example.test2我想做的不是指定类列表,而是只指定包含所有类的包名(在上述情况下为com.example)。有没有人知道这样做的方法,或者任何其他不需要我列出所有类的方法。任何帮助将不胜感激!谢谢。 最佳答案 从Spring3.1(我认为)您还可以使用接受通配符的packagesToScan属性。它只是不适用于没有@XmlRootElement注释的元素,就像contex

java - 为 spring Jaxb2Marshaller 指定一个包而不是 "classesToBeBound"

我正在尝试使用Jaxb2Marshaller来编码一组使用spring的java类。我知道这可以使用以下代码完成com.example.test1com.example.test2我想做的不是指定类列表,而是只指定包含所有类的包名(在上述情况下为com.example)。有没有人知道这样做的方法,或者任何其他不需要我列出所有类的方法。任何帮助将不胜感激!谢谢。 最佳答案 从Spring3.1(我认为)您还可以使用接受通配符的packagesToScan属性。它只是不适用于没有@XmlRootElement注释的元素,就像contex