2016-05-09 116 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文件一個很好的縮進。