簡體   English   中英

JAXB綁定嵌套元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM