JAXBの新機能です。私は、その要素の1の内側にシリアライズされたオブジェクトが含まれているXMLドキュメントを持っている:JAXBを使用してXML文書の単一要素をアンマーシャリングする
<?xml>
<structure>
...blah-blah
<serializedElement>
... JAXB xml block
</serializedElement>
</structure>
</xml>
私はそのような要素を非整列化するにはどうすればよいですか?
私は次のように書いた:
org.w3c.dom.Document doc = db.parse(new StringInputStream(rawXml));
org.w3c.dom.Element obj = (org.w3c.dom.Element) doc.getElementsByTagName("serializedElement").item(0);
JAXBElement<MyJaxBObject> je = um.unmarshal(obj, MyJaxBObject.class);
System.out.println(je.getValue());
が、これは常に(正しいクラスのが)空の値オブジェクトを返します。
私は間違っていますか?
ありがとうございました!
ありがとうございます!しかし、私は今失われています - なぜあなたは私の例のようにアンマーシャラーを作成するwhneを動かさないのですか? –
問題は、unmarshall(Element、class)を呼び出すときです。 unmarshall(Source、class)を呼び出すと、すべて正常です。何かご意見は? –
これまでのところ、JAXB APIにはメソッド 'unmarshall(Element、class)'はありません。 http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/xml/bind/Unmarshaller.html – alexblum