繁体   English   中英

大型XML文件构建器的最佳实践

[英]Best Practice for large XML file builder

我必须构建一个XML文件以输入Java中的SOAP服务。 输入xml至少可以包含1000个标签。 构建XML的最佳方法是什么? 我有XSD文件,但是使用JAXB有点复杂。 XMLStreamWriter是否是一个不错的选择?

XMLStreamWriter是用于从Java应用程序编写XML的更好的API之一,但是它有一些怪癖(例如,其名称空间处理有些奇怪),您可能会发现将它包装在一个了解API的便捷API中是值得的。您正在编写的文档类型,例如,它使用什么名称空间。

XMLStreamWriter接口的优点之一是有很多实现可供选择。 例如,Saxon的实现使您可以完全控制所有XSLT / XQuery序列化选项以及Saxon扩展(例如,您甚至可以控制属性的输出顺序!)

我使用所有基于事件的API遇到的问题之一是,迟早您会发现自己忘记编写结束标签,并且调试起来非常棘手。 使用包装器API强制您在对endElement()的调用中包括元素名称,这对于调试很有用; 如果打开了调试,则可以保留一堆元素名称,并检查endElement()是否在写正确的标签; 在关闭调试的情况下,您只需取消此检查即可。

当然,使用JAXB进行序列化是更高级别的,但是不利之处在于,它给您带来了更少的控制权。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM