我尝试使用 SimpleXML 库解析 xml,但是遇到了以下异常;我已经将水定义为列表,但不知道为什么会出现此问题。可能是我漏看了一些基础内容,但我就是找不到它。我的操作基本上是按照http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#list示例的模式进行的。
另外,这里在 StackOverflow 上有一个类似的问题,但这不是同一个情况,实际上与 ElementLists 无关。在我的情况下,我绝对需要一个 ElementList,因此我认为元素的多次出现实际上应该是可以的。
错误日志:
Error parsing xml.
org.simpleframework.xml.core.PersistenceException: Element 'gewaessereintrag' declared twice at line 9
at org.simpleframework.xml.core.Variable$Adapter.read(Variable.java:456)
....
XML:
<?xml version="1.0" ?>
<gewaesser>
<returncode>0</returncode>
<gewaessereintrag>
<id>1</id>
<name><![CDATA[Entry1]]></name>
<info><![CDATA[Info1.]]></info>
</gewaessereintrag>
<gewaessereintrag>
<id>2</id>
<name><![CDATA[Entry2]]></name>
<info><![CDATA[Info2.]]></info>
</gewaessereintrag>
</gewaesser>
水域列表(处理<gewaesser>
):
@Root(name = "gewaesser")
public class WaterList {
@ElementList(type = Water.class, name = "gewaessereintrag")
private List<Water> waters;
@Element(name = "returncode")
private String returncode;
public List<Water> getWaters() {
return waters;
}
}
水(处理<gewaessereintrag>):
@Root(name = "gewaessereintrag")
public class Water {
@Element(required = false, name = "name")
private String name;
@Element(required = false, name = "info")
private String info;
@Element(required = false, name = "id", type = Long.class)
private Long id;
}