[英]JAXB binding nested elements
我正在使用JAXB-impl。 我需要能夠將嵌套元素映射為簡單類型的類字段。 例如:
<mapping>
<search>
<channel>main-channel</channel>
<url>my-channel-url</url>
</search>
<items>
<item>first</item>
<item>second</item>
<item>third</item>
</items>
</mapping>
假設我需要將“ url”標簽綁定到類中的字段,這將不起作用(當然):
class Mapping{
@XmlElement
private String url;
}
@XmlElementWrapper,僅適用於集合。 我看過一些有關使用Eclipse MOXy的帖子,並使用@XmlPath,但這不是一個選擇。 它必須是JAXB-impl。
供參考: http : //wiki.eclipse.org/EclipseLink/Examples/MOXy/XPath#Marshal_to_XML_-_MOXy_Customization_.231_-_Grouping_Element
有沒有一種方法可以不必創建這些額外的嵌套類而獲得此映射?
與附加類Search
,但該類是私有嵌套類,並且不在Mapping
類之外使用。
類Mapping
公共API按預期返回url
@XmlAccessorType(XmlAccessType.FIELD)
class Mapping
{
@XmlAccessorType(XmlAccessType.FIELD)
private static class Search
{
private String channel;
private String url;
}
private Search search;
public String getUrl()
{
return search == null ? null : search.url;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.