gpt4 book ai didi

java - 使用 EclipseLink MOXy 和 JAXB 给定另一个元素的值的 XPath

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:53 24 4
gpt4 key购买 nike

我想获取xml中某个元素的文本值。在下面的 XML 中,当 CODE 的值为“Code1”时,我希望获取 SUBCHILD 的值,而不管 MP 实体的位置(当可能有许多 MP 元素时)。我还希望能够使用 JAXB 和 MOXy 以及 @XMLPath 属性来做到这一点

我的xml是这样的:

<RQ>
<PQ>
<MP>
<INFO>
<CODE>Code1</CODE>
</INFO>
<CHILD>
<SUBCHILD>VALUE for Code1</SUBCHILD>
</CHILD>
</MP>
<MP>
<INFO>
<CODE>Code2</CODE>
</INFO>
<CHILD>
<SUBCHILD>VALUE for Code2</SUBCHILD>
</CHILD>
</MP>
</PQ>
</RQ>

我想要“Code1 的 VALUE”,无论其位置如何,包含 Code1 的 MP 元素可以位于任何位置。我为此使用的 XPath 是:

RQ/PQ/MP[INFO/CODE='Code1']/CHILD/SUBCHILD

但我似乎无法从 MOXy 获取我想要的值,是否不支持此功能,我知道您可以基于属性进行映射,但我需要它取决于另一个元素的值

如有任何帮助,我们将不胜感激

最佳答案

MOXy 目前在其 @XmlPath 注释上不支持以下形式的 XPath。

存在一个 Unresolved 错误,如果不支持指定的 XPath,则会引发异常。

您可以针对您正在寻找的行为提出增强请求吗?

关于java - 使用 EclipseLink MOXy 和 JAXB 给定另一个元素的值的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26402645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com