SimpleXML libを使用して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>
WaterList(処理<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;
}