使用SAX解析器时,XML属性不会使用JAXB 2进行解组

时间:2012-08-14 14:53:50

标签: java xml jaxb

我已经使用XJC工具从XSD派生了我的Java类。 Unmarshaling在默认设置下工作正常。但是我已经切换到SAX解析器实现(来自SAXSource这里:http://docs.oracle.com/javase/6/docs/api/index.html?javax/xml/bind/JAXBContext.html),现在unnmarshalling当然快2倍,但XML属性没有被解组。它表示定义为

的属性
@XmlAttribute(required=true)
@XmlSchemaType(name = "anySimpleType")
protected String messageId;

设置为null。在XML中我有

<Message messageId="123">
...
</Message>

其他所有内容都可以正确解组。 我对使用属性的所有对象都有这个问题。

我有SAX解析器的Apache Xerces实现。

1 个答案:

答案 0 :(得分:2)

似乎JAXB无法与SAX解析器一起正常工作,除非将解析器设置为名称空间感知并设置了正确的名称空间。 DOM解析器可以正常工作,并将名称空间感知属性设置为false。