XJC ツールを使用して XSD から派生した Java クラスを取得しました。アンマーシャリングは、デフォルト設定で正常に機能します。ただし、SAX パーサーの実装に切り替えました (SAXSource から: http://docs.oracle.com/javase/6/docs/api/index.html?javax/xml/bind/JAXBContext.html ) 。もちろん 2 倍高速ですが、XML 属性はアンマーシャリングされません。として定義されている属性を意味します。
@XmlAttribute(required=true)
@XmlSchemaType(name = "anySimpleType")
protected String messageId;
に設定されていnull
ます。XMLで私が持っている
<Message messageId="123">
...
</Message>
他のすべては適切にアンマーシャリングされます。属性を使用するすべてのオブジェクトでこの問題が発生します。
SAXパーサーのApache Xerces実装があります。