我正在尝试使用 FileInputStreamReader
类读取 XML
文件。但是,当我尝试读取大型 XML
文件时,会出现一些问题。哪个java类更适合读取大型XML
文件以及解析XML文件最有效的解析器是什么?
最佳答案
我认为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 文件提供良好的缩进。
关于java - 在java中读取xml文件和解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37112996/