我想在 JAVA 中将 XML 子树反序列化为字符串(使用 Jackson):
输入结构:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<nodeA>text</nodeA>
<nodeB>
<nodeS>
<nodeS1>...</nodeS1>
<nodeS2>...</nodeS2>
</nodeS>
</nodeB>
</root>
变成这样的东西:
public class Pojo {
@JacksonXmlProperty(localName="nodeA")
private String nodeA; // = "text"
@JacksonXmlProperty(localName="nodeB")
@JsonDeserialize(using = MyXmlDeserializer.class)
private String nodeB; // = "<nodeS><nodeS1>...</nodeS1><nodeS2>...</nodeS2></nodeS>"
}
节点nodeS应被视为“原始值”,无需对 xml 进行任何修改,并将其放入 String 类成员中。我已经用自定义反序列化器或@JacksonRawValue 尝试过,但无济于事。
如果一个人可以访问“currentNode”的原始值,那将有很大帮助。
欢迎任何替代(杰克逊相关)解决方案:-)