Since there isn’t one, I’ve started writing one myself. Main features:
- Allows 100% round-tripping, even for weird whitespace between attributes in elements
- Suitable for building editors and filters which want to preserve the original file layout
- Error messages have line and column information
- Easy to reuse
- XML 1.0 compatible
You can download the latest sources here as a Maven 2 project.