我想获取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>
我想要Code1&#39; VALUE不管它的位置如何,包含Code1的MP元素可以在任何地方。我将使用的XPath将是:
RQ/PQ/MP[INFO/CODE='Code1']/CHILD/SUBCHILD
但我似乎无法从MOXy获得我想要的值,是不是支持此功能,我知道你可以根据属性进行映射,但我需要它取决于另一个元素的值
任何帮助将不胜感激
答案 0 :(得分:1)
MOXy目前不支持@XmlPath
注释中以下格式的XPath。
如果不支持指定的XPath,则会抛出一个异常错误。
您可以针对您要查找的行为打开增强请求吗?