Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SimpleXML:元素声明了两次_Java_Xml_Simple Framework - Fatal编程技术网

Java SimpleXML:元素声明了两次

Java SimpleXML:元素声明了两次,java,xml,simple-framework,Java,Xml,Simple Framework,我尝试用lib解析xml,得到以下异常:;当我把我的水域定义为一个列表时,我不明白为什么它会抱怨。 也许我忽略了一些非常基本的东西,但我就是找不到。我基本上遵循上一节给出的示例的模式 顺便说一句:StackOverflow上有一个例子,但它是另一个例子,实际上并不涉及元素列表。在我的例子中,我肯定想要一个ElementList,因此我会假设,我的元素的多重存在实际上应该是可以的 错误日志: Error parsing xml. org.simpleframework.xml.co

我尝试用lib解析xml,得到以下异常:;当我把我的水域定义为一个列表时,我不明白为什么它会抱怨。 也许我忽略了一些非常基本的东西,但我就是找不到。我基本上遵循上一节给出的示例的模式

顺便说一句:StackOverflow上有一个例子,但它是另一个例子,实际上并不涉及元素列表。在我的例子中,我肯定想要一个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:


我自己刚刚找到了答案,但也许这对其他人有帮助:

我忘记声明“
inline=true

<?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>
@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;
    }
}
@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;

}
@ElementList(type = Water.class, name = "gewaessereintrag", inline = true)