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

标签 java xml

我正在尝试使用 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/

相关文章:

java - 如何在Volley String Request(Android Studio)中提供json参数

java - 如果我们使用 <t :columns> in JSF?,如何对数据表进行排序

java - 日期格式 - Java

xml - Scala 的 XOM 模拟?

xml - 在 SQL Server 2008 中使用运行时指定的 XSD 验证 XML?

java - 部署 Grails 应用程序时出错 - 初学者

java - 在 Java 中将 InputStream 转换为 FileItem

php - 如何从本地机器上传文件并将其移动到 Joomla 3.6 的特定目录(从 config.xml 上传)

java - Jaxb 解码返回 null 和单个对象

xml - 使用 xslt 从特定 xml 元素中排除属性