使用SimpleXml解析xml时第-1行出错

时间:2011-09-01 09:34:31

标签: java xml simple-framework

使用Simple解析我的XML文件时,出现如下错误:

org.simpleframework.xml.core.ValueRequiredException: 
Unable to satisfy ... on field 'id' private String Foo.id 
for class Foo at line -1

我需要更改什么才能获得真实的行号?

[编辑] 这是一个要点:Demo for SimpleXml line number problem

我正在使用simple-xml:2.6.1和junit:4.9

1 个答案:

答案 0 :(得分:2)

取决于它的运行位置。如果你在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