Java 如何从JAXB中的封闭元素中获取值

Java 如何从JAXB中的封闭元素中获取值,java,xml-serialization,jaxb,Java,Xml Serialization,Jaxb,我有以下XML结构: <PriceBook> <PriceList product="0D000000.007C.06"> <Price .../> <Price .../> </PriceList> ... </PriceBook> ... PriceList包含Price对象的列表。我不希望Price对象有对其PriceLists的反向引用 问题: 我希望不仅

我有以下XML结构:

<PriceBook>
    <PriceList product="0D000000.007C.06">
        <Price .../>
        <Price .../>
    </PriceList>
    ...
</PriceBook>

...
PriceList
包含
Price
对象的列表。我不希望
Price
对象有对其
PriceList
s的反向引用

问题:


我希望不仅在我的
PriceList
对象中设置产品信息,而且在
Price
对象中设置产品信息。当然,我不想在XML本身中有这种重复,只想在Java方面。最优雅的方法是什么?

您可以利用
PriceList
对象上的
afterUnmarshal
事件。在这种情况下,您可以迭代
Price
对象列表并设置产品信息。您需要将
Price
上的产品信息标记为@xmltransive

了解更多信息


您可以利用
PriceList
对象上的
afterUnmarshal
事件。在这种情况下,您可以迭代
Price
对象列表并设置产品信息。您需要将
Price
上的产品信息标记为@xmltransive

了解更多信息


您希望
price
对象具有包含
priceList
product
属性,但不希望在封送时显示该属性?能否提供要映射到此XML文档的域对象?
product
属性应仅显示在
priceList
级别中XML,因为
价格表中的所有
价格
都属于同一
产品
。但是,对于Java端的处理,在
Price
上也可以方便地获得这些信息。您希望
Price
对象具有包含
priceList
product
属性,但不希望在封送时显示该属性?您能提供要映射到的域对象吗此XML文档?
product
属性应仅在XML中的
PriceList
级别显示,因为
PriceList
中的所有
价格都属于同一
产品。然而,对于Java端的处理,在
Price
s上也有这些信息是很方便的。愚蠢的我,我太专注于用注释来解决这个问题了。谢谢请注意,实际的解决方案是反向的:当在
PriceList
中调用
afterUnmarshal
时,价格列表还没有设置,但是如果您将
afterUnmarshal
放在
Price
中,您可以将
PriceList
作为父参数。愚蠢的我,我太专注于用注释解决这个问题了。谢谢请注意,实际的解决方案是反向的:在
PriceList
中调用
afterUnmarshal
时,尚未设置价格列表,但如果将
afterUnmarshal
放入
Price
,则可以将
PriceList
作为父参数。