Java JAX-B机顶盒自顶向下解包装
我正试图在XML源代码的反汇编过程中优化我的代码。 我有以下xml: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>
<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有疑问:我不确定是否理解了需要将注释放在哪里