![](/img/trans.png)
[英]JAXB marshall a Collection to a XmlElement and a XmlAttribute in one step
[英]Reading xmlAttribute from XmlElement in jaxB
您好,我有以下xml:
使用以下代碼:
如何獲取每個元素的屬性DispalyName而不為Down和Up創建新類並使用@xmlAttribute。 我可以通過添加新的2個類UpElement和DownElement來解決它,並且為每個類獲取@xmlAttribute,但是我想在一個類中添加它。
Code Example:
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "StatusesList")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
public class StatusesListElement
{
@XmlElement(name = "Down")
private String down = "";
@XmlElement(name = "Up")
private String up = "";
public String getDown()
{
return down;
}
public void setDown(String down)
{
this.down = down;
}
public String getUp()
{
return up;
}
public void setUp(String up)
{
this.up = up;
}
}
注意:我是EclipseLink JAXB(MOXy)的負責人,並且是JAXB 2(JSR-222)專家組的成員。
使用EclipseLink JAXB(MOXy)
您可以使用@XmlPath
在莫西的擴展映射這個用例:
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "StatusesList")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
public class StatusesListElement
{
@XmlPath("Down/@DisplayName")
private String down = "";
@XmlElement(name = "Up/@DisplayName")
private String up = "";
}
使用任何JAXB實現
您可以在此用例中使用XmlAdapter
。 以下是我給出的答案的鏈接,該答案演示了如何完成此操作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.