我必须编写一个处理大量xml文件并将xsd1定义的xml转换为xsd2定义的xml的应用程序。 在项目期间,xsd1文件将经常更改。 单个xml文件最大为200Kb。 转换中将有很多业务逻辑。 我想尽可能地接近Java标准库。
就xml文件处理而言,实现此应用程序的最佳方法是什么?
在这种情况下,我应该使用DOM,SAX,JAXB,XPATH还是其他方式?
更确切地说,唯一可能发生的变化是在xsd中添加匿名内部元素,因此将多次定义一个匿名内部元素项,从而导致Item1,Item2,... ,ItemN类生成。当添加新的匿名Item3时,Item1变为Item3,并且每次在Item1代码中出现的内容都必须替换为Item3。
答案 0 :(得分:1)
XSLT是用于将XML文档转换为其他XML文档的语言。
标准的东西。
在Java平台上非常受支持。
有出色的第三方库,例如Saxon。如果您是XML模式驱动的,那么Saxon可以很好地进行XML Schema-aware处理。