解析带有属性的元素列表失败



我有一个对象Links,它有List的成员,而Link只有属性,但解析列表有一些错误-它被创建为空。
在下面的测试中,links.getLinks()返回空列表。什么好主意吗?
XML的例子:

<links>
<link x="1" y="2" />
<link x="3" y="4" />
</links>

Java

@JacksonXmlRootElement(localName="links")
public class Links extends BaseAmebaElement {
@JacksonXmlProperty(localName="link")
//@JacksonXmlElementWrapper(localName="link")
private Collection<Link> links;
public Collection<Link> getLinks() {
    return links;
}
public void setLinks(Collection<Link> links) {
    this.links = links;
}
}

@JacksonXmlRootElement(localName="link")
public class Link {
@JacksonXmlProperty(localName="x", isAttribute=true)
private String href;
@JacksonXmlProperty(localName="y", isAttribute=true)
private String rel;

    XmlMapper  xmlMapper = new XmlMapper ();
    try {
        Links links = xmlMapper.readValue(input, Links.class);
        assertNotNull(links);
        assertNotNull(links.getLinks());
        assertEquals(2, links.getLinks().size());
    } catch (Throwable e) {
        fail(e.getMessage());
    }

我可以得到一些变化后的结果。但是,它可以取出第一行(它是空的)。我不知道为什么。

@JacksonXmlElementWrapper(useWrapping=false)
@JacksonXmlProperty(localName="link")
private Collection<Link> links;

更新:这应该是2.1.4版本中的一个bug。

相关内容

  • 没有找到相关文章

最新更新