JAXB解组神秘XML

乔希

我正在使用JAXB解组XML文件。

关于XML文件,我所知道的只是它是有效的XML。

那我应该如何为newInstance指定一个类和/或包呢?

JAXBContext jaxbContext = JAXBContext.newInstance(??????);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Object o = (Object) unmarshaller.unmarshal(myFile);

我在解决此问题文档没有看到任何内容

克里斯·欣肖

您需要告诉JaxB要解组到哪个类,以便它可以使用该类中的注释来解析xml的层次结构。您将需要有一个用@XmlRootElement之类注解的类。如果要解析任意xml,则可能需要使用DocumentBuilder或xpath进行某些操作。

有关更多信息,请参见此文章。

http://blog.bdoughan.com/2012/11/creating-generic-list-wrapper-in-jaxb.html

我已经使用过类似的方法将任意xml转换为类。any字段实际上是org.w3c.dom.Element的列表,您可以从中获取信息。

http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/Element.html

@XmlRootElement
class Wrapper {
        /**
         * Everything else
         */
        @Transient
        @XmlAnyElement(lax = true)
        private List<Element> any;


        public List<Element> getAny() {
            return any;
        }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章