我需要读取较小的(最多几MB,UTF-8编码)XML文件,查找各种元素和属性,也许修改几个元素和属性,然后将XML写回磁盘(最好使用漂亮的缩进格式).

什么样的XML解析器才能满足我的需求?有很多 Select .我知道的一些是:

当然还有JDK中的那个(我使用的是Java6).我对Xerces很熟悉,但觉得它很笨重.

推荐什么?

推荐答案

如果速度和内存没有问题,dom4j是一个非常好的 Select .如果需要速度,使用像Woodstox这样的StAX解析器是正确的方法,但是必须编写更多代码才能完成任务,并且必须习惯于在流中处理XML.

Java相关问答推荐

如何从片段请求数据到活动?在主要活动中单击按钮请求数据?

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

为什么我的画布没有显示在PFA应用程序中?

Mat. n_Delete()和Mat. n_release的区别

AlarmManager没有在正确的时间发送alert

解释左移在Java中的工作原理

使用Jackson库反序列化json

SpringBoot:在条件{Variable}.isBlank/{Variable}.isEmpty不起作用的情况下进行路径变量验证

一对多关系和ID生成

如何根据配置动态创建N个bean

我的代码是线程安全的吗?[Java、CAS、转账]

循环不起作用只有第一个元素重复

Java KeyListener不工作或被添加

在Java Spring JPA中插入包含对其他实体的引用的列

如何设计包含已知和未知键值对映射的Java类?

在具有Quarkus Panache的PostgreSQL中将JSON数据存储为JSONB时,会将其存储为转义字符串

如何利用OpenTelemeter将初始值(零)输出到普罗米修斯

从字节数组切换到JakartaMail org.springframework.mail.javamail.JavaMailSender InputStreamResource

如果c不为null,Arrays.sort(T[]a,Comparator<;?super T>;c)是否会引发ClassCastException?

java 11上出现DateTimeParseException,但java 8上没有