JAXB。如何使用JAXB粘贴XML在POJO类中填充内部类/列表?

时间:2019-06-26 12:38:54

标签: java jaxb marshalling

您好,我试图将一些xml编组到具有内部类的java类中,但是有一个问题:内部类无法填充外部类-它们为null。

    <forms>
        <form mkgu-id="0" foreign-id="ticket-department-252-2017-12-12--0">
            <data>
                //some data
            </data>
            <rates>
                <rate indicator-id="2" value-id="45">45</rate>
                <rate indicator-id="13" value-id="49">49</rate>
                <rate indicator-id="221" value-id="55">55</rate>
                <rate indicator-id="42" value-id="60">60</rate>
                <rate indicator-id="53" value-id="65">65</rate>
            </rates>
        </form>
    </forms>

这里的费率和费率类别:

@XmlRootElement(name = "rate")
public class Rate {

    @XmlAttribute(name = "indicator-id")
    private int indicatorId;

    @XmlAttribute(name = "value")
    private int value;

    @XmlElement(name = "rate")
    private int rate;

费率

@XmlRootElement(name = "rates")
public class Rates {
    @XmlElement
    private ArrayList<Rate> rates;

当我解析时,我得到了像这样的String类实现:

表格{表格= [表格{mkguId = 0,foreignId = ticket-department-252-2017-12-12--0,数据= //某些数据,服务=服务{id = 1410073997,服务=空'},过程= 0,权限=权限{id = 1411364330,权限='空'},日期='2017-12-11 18:00:00',receivedDate ='2017-12-12 07:42:31 ',okato ='53401373000'},rates = Rates {rates = null}}]}

某些字段未正确填写。我缺少什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

在课程Rate中,您需要使用rate而不是@XmlValue来对字段@XmlElement进行注释。 Service类中可能存在相同的错误。与您在帖子的早期编辑中遇到的User类中的错误相同。