如何在Java中使用Jackson来从XML获取所有标签名称

时间:2018-07-13 13:38:15

标签: java xml parsing jackson

我在Java项目中使用Jackson注释来解析来自服务器的XML响应。响应中有不同的标记(它们的名称事先未知)。

响应示例:

<?xml version='1.0' encoding='windows-1251'?> 
<pay-response coding='UTF'>
    <result SendToClient="0">OK</result>
    <name SendToClient="1">UserName</name>
</pay-response>

在这种情况下,我们只有两个XML Tagsresult标签为值OK,名称标签为值UserName。 所有标签都具有属性:SendToClient

我正在尝试这样做,但不幸的是它没有解析 问题出在Item类中。

@JacksonXmlRootElement(localName = "pay-response")
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
public class UniversalProviderVerifyResponse {
    @JacksonXmlProperty(localName = "coding")
    private String coding; // value is 'UTF'
    @JacksonXmlElementWrapper(useWrapping = false)
    private List<Item> elements;

    @Getter
    public class Item {
        @JacksonXmlProperty
        private String name; // want to be result and name
        @JacksonXmlProperty(localName = "SendToClient", isAttribute = true)
        private String client; // want to be 0 and 1
        @JacksonXmlText
        private String value; // want to be OK and UserName
    }

}

有什么想法可以在不知道标签名称的情况下如何获取所有标签名称及其值? 还是有可能?

0 个答案:

没有答案