草庐IT

JAXB_FORMATTED_OUTPUT

全部标签

Java/JAXB : Unmarshall Xml to specific subclass based on an attribute

是否可以使用JAXB根​​据xml的属性将xml解码为特定的Java类?我想要一个包含三角形和正方形的Shape对象列表,每个对象都有自己特定于形状的属性。即:abstractclassShape{intpoints;//...etc}classSquareextendsShape{Stringsquare-specific-attribute;//...etc}classTriangleextendsShape{Stringtriangle-specific-attribute;//...etc}我目前只是将所有属性放在一个大的“形状”类中,这并不理想。如果形状被正确命名为xml元素

java - 缺少 JAXB 命名空间前缀

我已经从XSD生成了Java类,从解码的角度来看,一切正常。但是,当我从JAXB类中编码时,我得到以下信息:Sample...但我需要Sample...如何通过Java控制它?非常感谢 最佳答案 您可以在package-info类上使用@XmlSchema注释为命名空间分配前缀:@XmlSchema(namespace="http://poc.cmc.com/ScreenLayout",elementFormDefault=XmlNsForm.QUALIFIED,xmlns={@XmlNs(prefix="ns0",namespac

java - 缺少 JAXB 命名空间前缀

我已经从XSD生成了Java类,从解码的角度来看,一切正常。但是,当我从JAXB类中编码时,我得到以下信息:Sample...但我需要Sample...如何通过Java控制它?非常感谢 最佳答案 您可以在package-info类上使用@XmlSchema注释为命名空间分配前缀:@XmlSchema(namespace="http://poc.cmc.com/ScreenLayout",elementFormDefault=XmlNsForm.QUALIFIED,xmlns={@XmlNs(prefix="ns0",namespac

java - JAXB:我应该如何编码复杂的嵌套数据结构?

我有几个复杂的数据结构,比如Map>Set>Set>>Map>>andsoon(morecomplexdatastructures)注意:就我而言,使用Set还是List并不重要。现在我知道JAXB让我定义XmlAdapter的,这很好,但我不想为每个给定的数据结构定义一个XmlAdapter(这将是太多的复制和粘贴代码)。我试图通过声明两个泛化XmlAdapter来实现我的目标:一个用于map:MapAdapter一组:SetAdapter问题:JAXB提示如下:javax.xml.bind.JAXBException:classjava.util.Collections$Unmod

java - JAXB:我应该如何编码复杂的嵌套数据结构?

我有几个复杂的数据结构,比如Map>Set>Set>>Map>>andsoon(morecomplexdatastructures)注意:就我而言,使用Set还是List并不重要。现在我知道JAXB让我定义XmlAdapter的,这很好,但我不想为每个给定的数据结构定义一个XmlAdapter(这将是太多的复制和粘贴代码)。我试图通过声明两个泛化XmlAdapter来实现我的目标:一个用于map:MapAdapter一组:SetAdapter问题:JAXB提示如下:javax.xml.bind.JAXBException:classjava.util.Collections$Unmod

java - 如何找回 "Eclipse >Generate>Jaxb classes"选项?

我最近不得不迁移到一台新机器并重新安装了Eclipse。目前,我需要从xsd生成JAXB类。我不太记得我安装了什么,但在我的旧Eclipse中,我有选项-rightclick-generate-jaxb类。谁知道我必须安装/插件才能找回它?我正在考虑安装Dali,这似乎是正确的,但我很确定我上次没有安装大理。和上次一样,我还在构建路径中包含了jaxbjar,所以应该没问题。我正在使用Eclipse3.6和JavaSE1.6。 最佳答案 如果您没有JavaEE:帮助>>安装新软件>>适用于:--所有可用站点--搜索JAXB然后选择We

java - 如何找回 "Eclipse >Generate>Jaxb classes"选项?

我最近不得不迁移到一台新机器并重新安装了Eclipse。目前,我需要从xsd生成JAXB类。我不太记得我安装了什么,但在我的旧Eclipse中,我有选项-rightclick-generate-jaxb类。谁知道我必须安装/插件才能找回它?我正在考虑安装Dali,这似乎是正确的,但我很确定我上次没有安装大理。和上次一样,我还在构建路径中包含了jaxbjar,所以应该没问题。我正在使用Eclipse3.6和JavaSE1.6。 最佳答案 如果您没有JavaEE:帮助>>安装新软件>>适用于:--所有可用站点--搜索JAXB然后选择We

java - 使用 jaxb (unmarshal) 将 xml 转换为 java 对象

我有以下XML,我需要将其转换为java对象。BookTitleBookName64018Booktitle1BookName15Booktitle2BookName35Booktitle3BookName34我不确定当我使用JAXB转换它时我的pojo会是什么。根据我的理解,我创建了以下POJO:publicclassTests{TestDatatestData;publicTestDatagetTestData(){returntestData;}publicvoidsetTestData(TestDatatestData){this.testData=testData;}}pub

java - 使用 jaxb (unmarshal) 将 xml 转换为 java 对象

我有以下XML,我需要将其转换为java对象。BookTitleBookName64018Booktitle1BookName15Booktitle2BookName35Booktitle3BookName34我不确定当我使用JAXB转换它时我的pojo会是什么。根据我的理解,我创建了以下POJO:publicclassTests{TestDatatestData;publicTestDatagetTestData(){returntestData;}publicvoidsetTestData(TestDatatestData){this.testData=testData;}}pub

java - 排除 JAXB 中的字段

我有2节课:@XmlRootElementpublicclassA{privateLongid;privateBb;//settersandgetters}和@XmlRootElementpublicclassB{privateLongid;privateStringfield1;privateStringfield2;//settersandgetters}默认情况下,如果我将类A的实例转换为XML,我将拥有它的所有字段(id)和引用的B类字段(id、field1、field2)如下:25test1test3是否可以修改引用类B中的what字段包含在A类的XML中?例如。我想说的是,