我很新手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());
但是这总是返回一个空值对象(尽管类正确)。
我做错了什么?
谢谢!
unmarshall(Element, class)
方法。http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/xml/bind/Unmarshaller.html - alexblum