元ネタはStackOverflowのこちらの質問。 inheritance - Java/JAXB: Unmarshall Xml to specific subclass based on an attribute - Stack Overflow 上記の例ではクラス名そのものを属性値として設定しているが、そうではなく「コード値」的な属性でサブクラスが指定される場合にはどうすれば良いか? どういう場合かというと、例えば以下のようなXMLを非整列化したいとする。 <commandList> <command code="C" data="新規作成データ" /> <command code="D" id="1" /> </commandList> これはデータ操作を 要素で指定するもので、操作の種類は code 属性で決まる。 C(CREATE)なら data 属性の値を使って新規レコードを