I need to read smallish (few MB at the most, UTF-8 encoded) XML files, rummage around looking at various elements and attributes, perhaps modify a few and write the XML back out again to disk (preferably with nice, indented formatting).
What would be the best XML parser for my needs? There are lots to choose from. Some I'm aware of are:
And of course the one in the JDK (I'm using Java 6). I'm familiar with Xerces but find it clunky.
Recommendations?
解决方案
If speed and memory is no problem, dom4j is a really good option. If you need speed, using a StAX parser like Woodstox is the right way, but you have to write more code to get things done and you have to get used to process XML in streams.