我正在尝试找出将JAXB POJO编组为XOM文档需要将哪些位组合在一起,反之亦然。
JAXB接口的编组方法接受各种目标,比如Result,但它们都没有Marshaller适配器。令人恼火的是,XOM API确实有一个XOMResult实现,但它是受包保护的,并且仅在内部使用。
有没有其他方法可以在不求助于字符串或字节缓冲区的情况下编组到XOM或从XOM进行编组?
发布于 2009-09-15 19:08:48
我不确定您是否反对使用DOM来完成此任务,因为您可能是为了避免使用DOM而使用XOM!无论如何,使用如上所述的JAXB Binder和here的DOMConverter,您可以在不使用字符串或字节缓冲区的情况下从JAXB转到DOM再到XOM。
遗憾的是,XOM没有从SAX ContentHandler创建XOM文档的实用程序,因为JAXB还支持编组到该对象的实例。XOM有一个SAXConverter,可以从文档创建ContentHandler,但不能从文档创建XOM。
在XOM-interest邮件列表中有一个与此相关的帖子。
发布于 2010-11-24 18:05:31
我找到了老项目nux
一个http://acs.lbl.gov/software/nux//api/nux/xom/pool/XOMUtil.html
jaxbMarshal编组/jaxbMarshal解组使用DOMConverter ;-(
b. http://acs.lbl.gov/software/nux/api/nux/xom/io/StaxUtil.html ...also包括一个使用StAX解析器而不是SAX解析器的XOM Builder实现;以及一个从底层XOM文档或片段读取的XMLStreamReader实现;以及其他工具。
StaxUtil.createXMLStreamReader(节点根)构造并返回从底层XOM节点读取的StAX XMLStreamReader拉式解析器实现;通常是文档或片段(子树);非常适合将XOM树高效地转换为SOAP/AXIOM、JAXB2、JiBX或XMLBeans,例如,当通过解组器增量地转换XQuery结果时,可以与StreamingPathFilter结合使用。
这可能会有帮助吗?
https://stackoverflow.com/questions/1428423
复制相似问题