Jaxb 解组后保留子-父关系

Jaxb 解组后保留子-父关系,jaxb,Jaxb,下面是我试图用JAXB解压的一个示例: <?xml version="1.0" encoding="UTF-8"?> <menus> <menu> <name>main</name> <subMenu> <name>mainMenu</name> <!-- Transfer / Versement -->

下面是我试图用JAXB解压的一个示例:

<?xml version="1.0" encoding="UTF-8"?>
<menus>
    <menu>
        <name>main</name>
        <subMenu>
            <name>mainMenu</name>
            <!-- Transfer / Versement -->
            <subMenu>
                <name>transfer</name>
                <label>MENU_TRANSFER</label>
                <icon>call-received</icon>

                <menuItem>
                    <name>record</name>
                    <label>MENU_RECORD</label>
                    <url>/pages/record/search/recordListSearchResult.jsf</url>
                </menuItem>

                <menuItem>
                    <name>transferInput</name>
                    <label>MENU_TRANSFER_OPEN</label>
                    <url>/pages/transfer/open/transferListOpen.jsf</url>
                </menuItem>
        </subMenu>
    </menu>
</menus>

主要的
主菜单
转移
菜单传送
接到的电话
记录
菜单记录
/pages/record/search/recordListSearchResult.jsf
转移输入
菜单\传送\打开
/pages/transfer/open/transferListOpen.jsf
一旦使用java生成的代码解组,我希望能够检索menuItem的子菜单父菜单(无需使用循环等)。基本上,我希望在menuItem上生成一个getter
getParent
,返回其父菜单。有没有一种简单的方法可以做到这一点?

在解组后,您可以使用它在映射类的实例中接收父对象。为此,只需添加具有以下签名的方法:

void afterUnmarshal(Unmarshaller unmarshaller, Object parent);
因此,在解组后,将在子菜单中获得父子菜单

如果映射的类是模式派生的(例如,使用XJC编译一些XML模式),则可以使用向生成的类添加代码

我还认为应该有处理父对象的XJC插件(google XJC或JAXB父插件)。

在解组后,您可以使用它在映射类的实例中接收父对象。为此,只需添加具有以下签名的方法:

void afterUnmarshal(Unmarshaller unmarshaller, Object parent);
因此,在解组后,将在子菜单中获得父子菜单

如果映射的类是模式派生的(例如,使用XJC编译一些XML模式),则可以使用向生成的类添加代码

我还认为应该有处理父对象的XJC插件(GoogleXJC或JAXB父插件)