【问题标题】:Unmarshal XML with no wrapper elements for repeating element to POJO using JAXB使用 JAXB 将没有包装器元素的 XML 解组为 POJO 重复元素
【发布时间】:2017-09-09 13:41:42
【问题描述】:

我希望使用 JAXB 将如下所示的 xml 解组为 POJO。令人困惑的是子元素没有包装元素。例如

<class>
   <studentId>1</studentId>
   <studentName>Mickey</studentName>
   <studentId>2</studentId>
   <studentId>Minnie</studentId>
</class>

我对 JAXB 比较陌生,之前没有遇到过这种情况。 xml 如下的情况可以正常工作,以获取具有 Student 对象列表的 StudentClass 对象。

<class>
   <student>
       <studentId>1</studentId>
       <studentName>Mickey</studentName>
   </student>
   <student>
       <studentId>2</studentId>
       <studentId>Minnie</studentId>
    </student>
</class>

任何人都可以向我指出适当的文档或提供处理第一个案例的建议。谢谢!

【问题讨论】:

    标签: java xml jaxb


    【解决方案1】:

    尝试使用@XmlElement 注释您的学生字段列表:

    @XmlElement(name="student")
    

    你也可以用&lt;students&gt;&lt;/students&gt;包装你的学生名单:

    @XmlElementWrapper(name="students")
    

    结果将是:

    <class>
       <students>
           <student>
               <studentId>1</studentId>
               <studentName>Mickey</studentName>
           </student>
           <student>
              <studentId>2</studentId>
              <studentId>Minnie</studentId>
           </student>
        </students>
    </class>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      • 2011-07-16
      相关资源
      最近更新 更多