gpt4 book ai didi

java - 使用 Jaxb 解码通用子项

转载 作者:行者123 更新时间:2023-11-29 09:12:44 24 4
gpt4 key购买 nike

我有一个 xml 文件,格式为:-

<item>
<item_attribute index="1" type="1" >
<name>value1</name>
</item_attribute>
<item_attribute index="2" type="1" >
<a_differnt_name>value2</a_different_name>
</item_attribute>
<item_attribute index="5" type="2" >
<another_name>value3</another_name>
</item_attribute>
</item>

我正在使用 JAXB 解码 xml 并为除“item_attribute”的子元素之外的每个元素设置一个类。我想在不知道元素名称的情况下对每个“item_attribute”元素中的数据(元素名称和元素值)进行一般解码。

我所知道的是“item_attribute”始终只有 1 个子元素,并且可以调用该子元素并包含任何内容。

我尝试使用:

public class Item_attribute {

private int index;
private Object data;

@XmlAttribute(name = "index")
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}

@XmlAnyElement(lax = true)
public Object getData() {
return this.data;
}

}

但它一直抛出非法注释异常!

最佳答案

如果注释字段(实例变量),则需要添加以下类型级别注释:

@XmlAccessorType(XmlAccessType.FIELD)
public class Foo {

@XmlAnyElement(lax = true)
private Object data;

public Object getData() {
return this.data;
}

}

或者你可以把注解放在get方法上。

public class Foo {

private Object data;

@XmlAnyElement(lax=true)
public Object getData() {
return this.data;
}

}

关于java - 使用 Jaxb 解码通用子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11413420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com