草庐IT

java - 生成实现接口(interface)的 JAXB 类

我目前正在使用JAXB生成java类以解码XML。现在我想创建一个与第一个非常相似的新模式,并让生成的类实现相同的接口(interface)。例如,我有两个架构文件,它们用相似的标签定义XML:成人.xsdkid.xsd使用JAXB和XJC我想生成两个类文件:publicclassAdultimplementsPerson{...publicStringgetName(){...}publicintgetAge(){...}publicStringgetJob{...}}publicclassKidimplementsPerson{...publicStringgetName(){..

java - 生成实现接口(interface)的 JAXB 类

我目前正在使用JAXB生成java类以解码XML。现在我想创建一个与第一个非常相似的新模式,并让生成的类实现相同的接口(interface)。例如,我有两个架构文件,它们用相似的标签定义XML:成人.xsdkid.xsd使用JAXB和XJC我想生成两个类文件:publicclassAdultimplementsPerson{...publicStringgetName(){...}publicintgetAge(){...}publicStringgetJob{...}}publicclassKidimplementsPerson{...publicStringgetName(){..

java - 为什么 JAXB 不为列表生成 setter

当我从XSD生成JAXB类时,具有maxOccurs="unbounded"的元素会获得为它们生成的getter方法,但没有setter方法,如下所示:/***Getsthevalueoftheelement3property.***Thisaccessormethodreturnsareferencetothelivelist,*notasnapshot.Thereforeanymodificationyoumaketothe*returnedlistwillbepresentinsidetheJAXBobject.*Thisiswhythereisnotasetmethodfort

java - 为什么 JAXB 不为列表生成 setter

当我从XSD生成JAXB类时,具有maxOccurs="unbounded"的元素会获得为它们生成的getter方法,但没有setter方法,如下所示:/***Getsthevalueoftheelement3property.***Thisaccessormethodreturnsareferencetothelivelist,*notasnapshot.Thereforeanymodificationyoumaketothe*returnedlistwillbepresentinsidetheJAXBobject.*Thisiswhythereisnotasetmethodfort

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