在java中读取xml文件和解析器

时间:2016-05-09 10:07:22

标签: java xml

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

1 个答案:

答案 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文件提供一个很好的缩进。