0

我想将 XML 反序列化为 Java Pojo,但我不需要所有元素,并且我想避免创建样板包装类只是为了获取一些子元素

XML 看起来像这样

<a>
  <b>NotInterestingValue</b>
  <c>
    <d>InterestingValue</d> 
    <e>InterestingValue</e>
  </c>
</a>
I created A.class {

   String b;
   C c;
}


class C {
  String d;
  String e;
}

我创建了一个这样的 XML-Mapper:

new XmlMapper(new JacksonXmlModule().readValue("xml-file", A.class)

--> 这行得通。但是是否可以仅使用 C 来反序列化 XML?

例如 new XmlMapper(new JacksonXmlModule().readValue("xml-file", C.class) --> 现在不起作用

4

1 回答 1

1

我设法找到了答案:https ://stackoverflow.com/a/41383076/15925714

-->

class C {
  String d;
  String e;

  @JsonProperty("c")
    private void unpackNameFromNestedObject(Map<String, String> c) {
        d= c.get("d");
        d= c.get("e");
    }
}
于 2021-09-24T10:09:22.030 回答