gpt4 book ai didi

java - JAXB2注释: troubles rendering a value in a list

转载 作者:行者123 更新时间:2023-12-01 15:05:00 29 4
gpt4 key购买 nike

我在尝试使用 JAXB2 注释呈现以下 xml 代码时遇到一些问题:

....
<bizTransactionList>
<bizTransaction type="urn:epcglobal:fmcg:btt:po">
http://transaction.acme.com/po/54847
</bizTransaction>
<!--other entries -->
</bizTransactionList>
...

documentation之后我设法解决了这个问题,如下:1)在拥有列表的类中,我以这种方式注释列表 getter

@XmlElementWrapper(name="bizTransactionList")
@XmlElement(name="bizTransaction")
public List<BizTransaction> getBizTransactionList() {
return bizTransactionList;
}

2)我创建 BizTransaction 类如下

public class BizTransaction {

private URI transactionId;
private URI type;

@XmlValue
public URI getTransactionId() {
return transactionId;
}

public void setTransactionId(URI transactionId) {
this.transactionId = transactionId;
}

@XmlAttribute
public URI getType() {
return type;
}

public void setType(URI type) {
this.type = type;
}

public BizTransaction() {
// TODO Auto-generated constructor stub
}

public BizTransaction(URI transactionId, URI type) {
super();
this.transactionId = transactionId;
this.type = type;
}

}

现在的问题是该属性工作正常,但值(即 transactionId 变量)始终为 null。你能帮我找出问题所在吗?

最佳答案

这是一个合理的模型,但您的示例 XML 无效,因为 bizTransaction 元素值周围的前导和尾随空格意味着它不是有效的 URI。如果你说

    <bizTransaction type="urn:foo">http://transaction.acme.com/po/54847</bizTransaction>

然后它就会如你所期望的那样工作。

关于java - JAXB2注释: troubles rendering a value in a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13089624/

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