gpt4 book ai didi

java - XML 映射到 Java 对象

转载 作者:行者123 更新时间:2023-12-02 02:23:25 25 4
gpt4 key购买 nike

我有一个像这样的 Xml

<entry>
<comboBox>
<name>xxx</name>
<details>sdfd</details>
</comboBox>
</entry>

在另一个条目中我有这样的 XML

<entry>
<numberField>
<name>xxx</name>
<details>sdfd</details>
</numberField>
</entry>

我想将 comboBoxnumberField 映射到 Java 中名为 Field 的同一个类

如何在入口类中注释 Java 字段?

最佳答案

在您的 Entry 类中,您需要使用以下内容注释 Java 字段 @XmlElements并在那里列出各个元素的名称。像这样:

@XmlAccessorType(XmlAccessType.FIELD)
public class Entry {

@XmlElements({
@XmlElement(name = "comboBox", type = Field.class),
@XmlElement(name = "numberField", type = Field.class)
})
private Field field;
}

为了清楚起见,我在上面的注释中添加了 type = Field.class。在你的情况下你可以省略它。然后 JAXB 将从属性类型 decaration 中选取 Field ,这具有相同的预期效果。

Field 类可以像这样直接:

@XmlAccessorType(XmlAccessType.FIELD)
public class Field {

@XmlElement
private String name;

@XmlElement
private String details;
}

关于java - XML 映射到 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141628/

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