首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个JAXBContext的XML字符串

具有多个JAXBContext的XML字符串
EN

Stack Overflow用户
提问于 2015-11-20 00:55:51
回答 1查看 36关注 0票数 1

下面是我的XML,我在访问Entity3列表时遇到了问题。

代码语言:javascript
复制
<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>

下面是我的java对象类

实体

代码语言:javascript
复制
@XmlRootElement(name= "Entity")
public class Entity {
    private String field1;
    private String field2;

    private String field3;
    private String field4;

    private List<Entity3> entity3s;
}

Entity2

代码语言:javascript
复制
public class Entity2 {
    private String field3;
    private String field4;
}

Entity3

代码语言:javascript
复制
public class Entity3 {
    private String field5;
    private String field6;
}

如何注释Entity3列表,因为它是由两个根元素<Entity3s><Entity3List>包装的

代码语言:javascript
复制
jaxbContext = JAXBContext.newInstance(Entity1.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Entity1 entity1= (Entity1) unmarshaller.unmarshal(sr);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-20 11:44:04

使用这些类

Entity1

代码语言:javascript
复制
@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;
    }

}

Entity2

代码语言:javascript
复制
@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

代码语言:javascript
复制
public class Entity3s {

    private Entity3List entity3List;

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

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


}

Entity3List

代码语言:javascript
复制
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;
    }

}

Entity3

代码语言:javascript
复制
public class Entity3 {
    private String field5;
    private String field6;
    public String getField5() {
        return field5;
    }
    public void setField5(String field5) {
        this.field5 = field5;
    }
    public String getField6() {
        return field6;
    }
    public void setField6(String field6) {
        this.field6 = field6;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33817188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档