【问题标题】:XPaths using EclipseLink MOXy and JAXB given a value of another elementXPaths 使用 EclipseLink MOXy 和 JAXB 给定另一个元素的值
【发布时间】: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 获得我想要的值,是否不支持此功能,我知道您可以根据属性进行映射,但我需要它取决于另一个元素的值

任何帮助将不胜感激

【问题讨论】:

    标签: java xml xpath jaxb moxy


    【解决方案1】:

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

    如果指定的 XPath 不受支持,则会引发异常。

    您能否针对您正在寻找的行为提出增强请求?

    【讨论】:

    • 我想,但我不确定我是否可以,因为我不是 Eclipse 成员,我发现我需要的另一个是:根据其标签的属性获取一个等于属性的值另一个标签的值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多