Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 JAXBContext将XML字符串与多个根元素解组_Java_Xml_Jaxb - Fatal编程技术网

Java JAXBContext将XML字符串与多个根元素解组

Java JAXBContext将XML字符串与多个根元素解组,java,xml,jaxb,Java,Xml,Jaxb,下面是我的XML字符串,我在访问Entity3列表时遇到问题 <Entity1> <field1>Value1</field1> <field2>Value2</field2> <Entity2> <field3>Value1</field3> <field4>Value2</field4> </Entity2> <En

下面是我的XML字符串,我在访问Entity3列表时遇到问题

<Entity1>
  <field1>Value1</field1>
  <field2>Value2</field2>
  <Entity2>
     <field3>Value1</field3>
     <field4>Value2</field4>
  </Entity2>
  <Entity3s>
    <Entity3List>
       <Entity3>
          <field5>Value1</field5>
          <field6>Value2</field6>
       </Entity3>
       <Entity3>
          <field5>Value1</field5>
          <field6>Value2</field6>
       </Entity3>
    </Entity3List>
  </Entity3s> 
</Entity1>
实体3

public class Entity2 {
    private String field3;
    private String field4;
}
public class Entity3 {
    private String field5;
    private String field6;
}
由于Entity3列表由两个根元素
包装,我应该如何注释它

使用这些类

实体1

@XmlRootElement(name= "Entity1")
public class Entity {
    private String field1;
    private String field2;
    private Entity2 entity2;
    private Entity3s entity3s;

    public String getField1() {
        return field1;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }

    public String getField2() {
        return field2;
    }

    public void setField2(String field2) {
        this.field2 = field2;
    }

    @XmlElement(name = "Entity2")
    public Entity2 getEntity2() {
        return entity2;
    }

    public void setEntity2(Entity2 entity2) {
        this.entity2 = entity2;
    }

    @XmlElement(name = "Entity3s")
    public Entity3s getEntity3s() {
        return entity3s;
    }

    public void setEntity3s(Entity3s entity3s) {
        this.entity3s = entity3s;
    }

}
实体2

@XmlRootElement
public class Entity2 {
    private String field3;
    public String getField3() {
        return field3;
    }
    public void setField3(String field3) {
        this.field3 = field3;
    }
    public String getField4() {
        return field4;
    }
    public void setField4(String field4) {
        this.field4 = field4;
    }
    private String field4;
}
Entity3s

public class Entity3s {

    private Entity3List entity3List;

    @XmlElement(name = "Entity3List")
    public Entity3List getEntity3List() {
        return entity3List;
    }

    public void setEntity3List(Entity3List entity3List) {
        this.entity3List = entity3List;
    }


}
实体3列表

public class Entity3List {
    private List<Entity3> entity3s;

    @XmlElement(name = "Entity3")
    public List<Entity3> getEntity3s() {
        return entity3s;
    }

    public void setEntity3s(List<Entity3> entity3s) {
        this.entity3s = entity3s;
    }

}
使用这些类

实体1

@XmlRootElement(name= "Entity1")
public class Entity {
    private String field1;
    private String field2;
    private Entity2 entity2;
    private Entity3s entity3s;

    public String getField1() {
        return field1;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }

    public String getField2() {
        return field2;
    }

    public void setField2(String field2) {
        this.field2 = field2;
    }

    @XmlElement(name = "Entity2")
    public Entity2 getEntity2() {
        return entity2;
    }

    public void setEntity2(Entity2 entity2) {
        this.entity2 = entity2;
    }

    @XmlElement(name = "Entity3s")
    public Entity3s getEntity3s() {
        return entity3s;
    }

    public void setEntity3s(Entity3s entity3s) {
        this.entity3s = entity3s;
    }

}
实体2

@XmlRootElement
public class Entity2 {
    private String field3;
    public String getField3() {
        return field3;
    }
    public void setField3(String field3) {
        this.field3 = field3;
    }
    public String getField4() {
        return field4;
    }
    public void setField4(String field4) {
        this.field4 = field4;
    }
    private String field4;
}
Entity3s

public class Entity3s {

    private Entity3List entity3List;

    @XmlElement(name = "Entity3List")
    public Entity3List getEntity3List() {
        return entity3List;
    }

    public void setEntity3List(Entity3List entity3List) {
        this.entity3List = entity3List;
    }


}
实体3列表

public class Entity3List {
    private List<Entity3> entity3s;

    @XmlElement(name = "Entity3")
    public List<Entity3> getEntity3s() {
        return entity3s;
    }

    public void setEntity3s(List<Entity3> entity3s) {
        this.entity3s = entity3s;
    }

}

这意味着如果标签是冗余的,我还需要为它创建一个类。这意味着如果标签是冗余的,我还需要为它创建一个类。