取决于它在哪里运行。如果您在 JDK 1.5 中运行,则在类路径中没有 StAX,这意味着您正在使用 DOM,因此您总是会在出现错误时得到 -1。如果您在类路径中使用带有 StAX 的 JDK 1.5 或更高版本,则 StAX 不支持行号(也许尝试不同的库,我推荐Woodstox)。
[编辑]如果您想尝试 Woodstox 并使用 Maven,请将其添加到您的 POM:
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>woodstox-core-asl</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>stax2-api</artifactId>
<version>3.1.1</version>
</dependency>
这是使用 Apache License 2.0 的版本。如果您更喜欢 LGPL 2.1,请替换-asl
为-lgpl
.