我有一个非常基本的应用程序,它使用JAXB marshaller来验证xsd架构的输入信息。我注册验证事件处理程序以获取有关异常的信息。我想要实现的是能够将这些信息包含到我通过封送处理收到的xml输出结构中。我已将异常收集部分包含到我的xsd中,现在我可以在遇到异常时实例化相应的异常对象。问题是考虑到编组过程已经开始的事实,我如何将这个对象附加到我的JAXB生成的其他Java对象结构中?它甚至可能吗?或者我应该在封送完成后尝试修改xml结果吗?任何建议都将受到高度赞赏。 谢谢!
答案 0 :(得分:1)
有几种方法可以做到这一点:
选项#1 - 向您的根对象添加“例外”属性
选项#2 - 使用XMLStreamWriter
答案 1 :(得分:0)
简答:不。 JAXB旨在获取对象图并生成XML。它并不打算这样做。
更长的答案:您可以在第一次完成JAXB后将异常表示注入图中。
更长的答案:JAX-B有许多插件和自定义技术,您可以使用其中一种技术。但是,很难在问题的抽象层面上对此进行概念化。