gpt4 book ai didi

java - 使用 jaxb 解码元素属性和文本以分隔字段

转载 作者:行者123 更新时间:2023-12-02 09:11:39 26 4
gpt4 key购买 nike

如何注释 Root 类中的 externalValuecompanyId 字段,以便“abc”映射到 externalValue 和“123”被映射到 companyId
我需要 @XmlJavaTypeAdapter 注释吗?在哪里?我希望如果我这样做,它可以只处理这两个字段,并且我可以按原样保留 titlecountryCodes 的注释。

XML:

<item>
<externalValue companyId="123">abc</externalValue>
<title>My Title</title>
<country>US</country>
<country>CA</country>
</item>

POJO:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Item {
private String externalValue;
private String companyId;
@XmlElement
private String title;
@XmlElement(name = "country")
public List<String> countryCodes;

// getters and setters...
}

最佳答案

恐怕在一般情况下,即 JAXB 规范中,仅使用注释(因此没有额外的 POJO 和一些适配器)是不可能实现的。但是,如果您碰巧使用 MOXy 作为 JAXB 实现,那么只需添加注释 @XmlPath 即可,如下所示:

@XmlPath("externalValue/@companyId")
private String companyId;

相关问题:Unmarshalling an XML using Xpath expression and jaxb

关于java - 使用 jaxb 解码元素属性和文本以分隔字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59362007/

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