【发布时间】:2014-10-16 10:57:05
【问题描述】:
我想获取xml中某个元素的文本值。在下面的 XML 中,当 CODE 的值为“Code1”时,我想获取 SUBCHILD 的值,而不管 MP 实体的位置如何,当可能有许多 MP 元素时。我也希望能够使用带有@XMLPath 属性的 JAXB 和 MOXy 来做到这一点
我的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>
我想要 'VALUE for Code1' 而不管它的位置,包含 Code1 的 MP 元素可以在任何地方。我将用于此的 XPath 将是:
RQ/PQ/MP[INFO/CODE='Code1']/CHILD/SUBCHILD
但我似乎无法从 MOXy 获得我想要的值,是否不支持此功能,我知道您可以根据属性进行映射,但我需要它取决于另一个元素的值
任何帮助将不胜感激
【问题讨论】: