对于element中的complexType包装器的XPath

时间:2014-06-25 07:44:58

标签: java xml xpath jaxb

我在XSD架构中定义了以下元素

<xs:element name="MainType">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="InnerType">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="OtherType" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

我想为OtherType编写绑定,但是我遇到了XPath的问题。我写了这个XPath用于添加OtherType。

//xs:element[@name='MainType']//xs:complexType//xs:element[@name='InnerType']//xs:complexType//xs:element[@name='OtherType']

我试图在XPath中的元素之间跳过complexType,但它也不起作用。 JAXB插件返回此错误

om.sun.istack.SAXParseException2: XPath evaluation of ... results in empty target node

1 个答案:

答案 0 :(得分:0)

正确的XPath:

//xs:element[@name='MainType']//xs:element[@name='InnerType//xs:element[@ref='OtherType']