使用 JAXB 解组 XML 文档的单个元素

Ant*_*kov 4 xml jaxb unmarshalling

我对 JAXB 很陌生。我有一个 XML 文档,其中包含一个元素中的序列化对象:

<?xml>
 <structure>
   ...blah-blah
   <serializedElement>
     ... JAXB xml block
   </serializedElement>
  </structure>
</xml>
Run Code Online (Sandbox Code Playgroud)

我如何解组这样的元素?

我写了以下内容:

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());  
Run Code Online (Sandbox Code Playgroud)

但这总是返回空值对象(尽管是正确的类)。

我究竟做错了什么?

谢谢!

Ant*_*kov 5

好吧,终于。问题在于失踪

dbf.setNamespaceAware(true);
Run Code Online (Sandbox Code Playgroud)

添加此行后,一切正常。