1
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="A", propOrder={"k", "l"})
public class A {
@XmlElement(name="kkk")
protected K k;
@XmlElement(name="lll")
protected L l;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="B")
public class B extends A {
}
XSD中,它看起来像:
<xsd:complexType name="A">
<xsd:sequence>
<xsd:element name="kkk" type="K" minOccurs="0"/>
<xsd:element name="lll" type="L" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="B">
<xsd:complexContent>
<xsd:extension base="A"/>
</xsd:complexContent>
</xsd:complexType>
但是,当我尝试解析像B
类型的元素:
...
<b>
<kkk>...</kkk>
<lll>...</lll>
</b>
...
我得到如下错误:
Caused by: org.xml.sax.SAXParseException; lineNumber: 27; columnNumber: 35; cvc-
complex-type.2.1: Element 'b' must have no character or element information item
[children], because the type's content type is empty.
问题在哪里?
对不起。有我的错:在我的xsd中是'xsd:restriction'而不是'xsd:extension'。 – 2014-11-06 13:37:29
所以你解决了它?随意张贴您自己的答案。这将为其他用户提供解决方案中遇到的类似问题指导。 – lexicore 2014-11-06 14:04:14