gpt4 book ai didi

java - JAXB:将具有不同属性的多个元素解码到同一 java 类中的单独字段中

转载 作者:行者123 更新时间:2023-11-30 11:50:44 25 4
gpt4 key购买 nike

我正在使用返回以下响应的 soap 服务

<...>
<SearchResult>
<Score>1</Score>
<HasImage>False</HasImage>
<Field Name="BillToCode" Type="User"/>12</Field>
<Field Name="BrokerNumber" Type="User"/>broker12</Field>
<Field Name="DeductionDate" Type="User">2011-01-12</Field>
<Field Name="DeductionNumber" Type="User">deduction</Field>
</SearchResult>
<...>

我想把它映射成一个易于使用的 java 类。

@XmlRootElement(name="SearchResult")
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchResultElement
{
@XmlElement(name="Score")
private int mScore;

@XmlElement(name="HasImage")
private boolean mHasImage;

// ???
private String mBillToCode;

// ???
private String mBrokerNumber;

// ???
private String mDeductionDate;

// ???
private String mDeductionNumber;
}

我已经在使用 JAXB,我需要一些关于如何避免造成困惑的见解。

将字段映射到散列图中也证明是有用的,但我想避免将字段映射到数组。

谢谢!

最佳答案

有了 MOXy,您可以使用 @XmlPath注释,as described in this post .

例如

@XmlPath("/SearchResult/Field[@Name='BillToCode']/text()");
private String mBillToCode

编辑:MOXy 支持一个属性的匹配,所以很遗憾你不能写@Name='BillToCode' 和@Type='User'

关于java - JAXB:将具有不同属性的多个元素解码到同一 java 类中的单独字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827305/

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