如何使用Jackson处理命名空间的重复xml标记

时间:2013-03-17 23:11:05

标签: java xml annotations jackson

使用Jackson可以根据命名空间处理重复的xml标签吗?

下面的代码抛出一个JsonMappingException:多个字段代表属性“url”

private final ObjectMapper xmlMapper = new XmlMapper();

private static final String xml =
        "<example xmlns:test='http://test.com/'>" +
            "<test:url>www.namespace.com'</test:url>" +
            "<url>www.url.com'</url>" +
        "</example>";

@Test
public void parseXml() throws Exception {
    Example example = xmlMapper.readValue(xml, Example.class);

    assert example.namespaceUrl.equals("www.namespace.com");
}

public static class Example {

    @JsonProperty("url")
    public String namespaceUrl;

    @JsonProperty("url")
    public String url;

}

非常感谢!

1 个答案:

答案 0 :(得分:2)

目前无法做到这一点 - 您不能使用仅按名称空间不同的属性。这不是一个基本的限制;也就是说,有了更多的工作,就可以得到支持;但这是目前的限制。