具有多个条件的Java XmlPath批注

时间:2016-04-27 09:11:48

标签: java xml eclipselink moxy

我有以下XML Schema:

<children>
    <component library="xml">
        <properties Output="1"/>
        <data>
            <root scrollposition="1">
                <entry name="Demo" expanded="1">
                    <entry name="Subentry">
                    </entry>
                </entry>
            </root>
        </data>
    </component>
    <component library="xml">
        <properties/>
        <data>
            <root scrollposition="1">
                <entry name="Demo" expanded="1">
                    <entry name="Subentry">
                    </entry>
                </entry>
            </root>
        </data>
    </component>
</children>

现在我想获取属性library的值为xml且元素Output中属性properties的值为1的条目}。 我的课程如下:

public class Component {
   @XmlPath("component[@library='xml' and properties[@Output='1']]/data/root/entry")
  private List<Entry> entries;

  public List<Entry> getEntries() {
    return entries;
  }

  public void setEntries(List<Entry> entries) {
    this.entries = entries;
  }
}

但是List为null。 我认为Annotation'XmlPath'中的某些内容是错误的,但我现在没有错。

1 个答案:

答案 0 :(得分:0)

我发现问题在于当前版本的MOXy XPath条件检查属性是否存在或不支持不等条件。

唯一支持的条件是[@name='val']