2016-05-09 78 views
2

我正在尝试使用FileInputStreamReader类读取XML文件。但是,当我尝试阅读大文件时,会发生一些问题。哪一个java类更适合读取较大的XML文件以及哪些最有效的解析器来解析XML文件?在java中读取xml文件和解析器

回答

3

我认为DOM解析是这样,你开始你的XML文档的解析来解析XML文件

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder docBuilder = factory.newDocumentBuilder(); 
Document doc = docBuilder.parse(yourFile); 

一个很好的方式,那么你可以修改节点,改变你想改变

什么
TransformerFactory tf = TransformerFactory.newInstance(); 
Transformer transformer = tf.newTransformer(); 
DOMSource source = new DOMSource(yourDoc); 
StreamResult result = new StreamResult(yourFile); 
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); 
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.transform(source, result); 

而且这第二单方面是保存所有更改。 “setOutputPropery”方法不是必需的,它只用于给XML文件一个很好的缩进。