Java JAX-B机顶盒自顶向下解包装

Java JAX-B机顶盒自顶向下解包装,java,xml,jaxb,unmarshalling,Java,Xml,Jaxb,Unmarshalling,我正试图在XML源代码的反汇编过程中优化我的代码。 我有以下xml: <Parent name="X"> <List> <Element name="A"> <Element name="B"> <Element name="C"> </List> </Parent> <Parent name="Y"> <List>

我正试图在XML源代码的反汇编过程中优化我的代码。 我有以下xml:

<Parent name="X">
    <List>
        <Element name="A">
        <Element name="B">
        <Element name="C">
    </List>
</Parent>
<Parent name="Y">
    <List>
        <Element name="A">
        <Element name="B">
        <Element name="C">
    </List>
</Parent>

我想在元素中使用父元素的名称值,因为如果父元素的名称是X,则元素名称将是X+元素.getName(),否则将是Y+元素.getName()。 我试图做的是在解组过程中,在元素bean的setName(String name)方法中设置正确的值。这是因为我不想在解组后循环遍历父元素和元素。 问题在于JAX-B解组方法是自下而上的:它在创建对象父对象之前创建对象元素,所以我不知道如何获取父属性名称。 是否有方法更改此行为?

您可以在解组后作废将在解组后调用的
(解组器,对象父对象)
。在此方法中,您可以根据需要更改对象的
名称
属性

您可能还希望使用
@xmlementwrapper(name=“List”)
注释
元素
属性,使
元素
对象直接指向
父对象的子对象

注:这个答案几乎是1:1,答案在以下问题中:


另见,谢谢,这似乎是我需要的。我对XmlElementWrapper有疑问:我不确定是否理解了需要将注释放在哪里