Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        去年关闭。
                                                                                            
                
        
我有一堆大型XML文件(所有文件的总大小超过1 GB),我需要将它们从供应商模式转换为我们的模式。

供应商在其服务器的某个FTP位置上有一个ZIP文件(其中包含大的XML文件)。我必须选择该ZIP文件,然后转换所有可用的XML文件。转换为架构格式后,我需要将数据持久保存在数据库中。

有什么好的设计可以实现呢?有哪些支持Java的相关工具和实用程序?

最佳答案

只需使用常规的Java API ...

File zipFile = new File("archive.zip");
File xsltFile = new File("transform.xslt");
File transformedXmlsFile = new File("transformed.xml");

StreamSource xsltSource = new StreamSource(xsltFile);
Transformer transformer = TransformerFactory.newInstance().newTransformer(xsltSource);

ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFile));
ZipEntry zipEntry;
OutputStream resultXmls = new FileOutputStream(transformedXmlsFile);
while ((zipEntry = zipIn.getNextEntry()) != null){
  StreamSource inputXml = new StreamSource(zipIn);
  StreamResult resultXml = new StreamResult(resultXmls);
  transformer.transform(inputXml, resultXml);
}
zipIn.close();
resultXmls.close();

关于java - 将大型XML文档从一种格式转换为另一种格式的最快和最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12482729/

10-12 05:59