Java,XMLEvent位置字符

我正在使用StAX XMLEventReader解析以下String:

final String xmlstr = "TheName"; 

我正在观察event.getLocation().getCharacterOffset()值并得到一些奇怪的行为:虽然在元素声明之后的位置报告了START_ELEMENT的索引(例如,上下文元素的索引9),但是CHARACTERS事件为“据报道名称“在索引32上。为什么? 有没有办法纠正?

从最新的jdk6到最新的jdk7,我遇到了类似的问题。 com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl中似乎存在一个错误。 getCharacterOffset()返回不正确的值建议使用不同的XML解析器。

(从评论转到回答)

编辑:我对此进行了一些更系统的测试,并且发现jdk6中的情况是错误的,并且在jdk7中是正确的,反之亦然。 有趣的是,行号和行列值似乎在两个jdk中都是一致和正确的。