我正在尝试使用XML
类阅读FileInputStreamReader
文件。但是,当我尝试读取大XML
个文件时,会出现一些问题。哪个java类更适合读取大XML
个文件以及哪些是解析XML文件最有效的解析器?
答案 0 :(得分:3)
我认为DOM解析是解析XML文件的好方法
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = factory.newDocumentBuilder();
Document doc = docBuilder.parse(yourFile);
以这种方式开始解析XML文档,然后您可以修改节点并更改要更改的内容
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文件提供一个很好的缩进。