4

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;

}

本当にありがとう!

4

1 に答える 1

2

現在、それを行う方法はありません。名前空間だけが異なるプロパティは使用できません。これは根本的な制限ではありません。つまり、より多くの作業を行えば、サポートされる可能性があります。しかし、それは現在の制限です。

于 2013-03-18T17:33:02.317 に答える