gpt4 book ai didi

java - 如何使用 XStream 反序列化属性和文本节点?

转载 作者:行者123 更新时间:2023-12-02 11:06:59 26 4
gpt4 key购买 nike

我想使用 XStream 反序列化以下 XML:

<root>
<node att="value">text</node>
</root>

转换为具有两个 String 类型字段的 Java 对象。我该怎么做?

我见过these questions ,但我需要做的实际上是相反的操作。

最佳答案

正如您发现的几个序列化示例中所暗示的那样,ToAttributedValueConverter 是执行此操作的最直接方法。它允许您将类上的字段作为 XML 属性进行处理,并选择一个作为 XML 主体。

用这两个类来接收数据:

@XStreamAlias("root")
public class Root {
private Node node;
}

@XStreamConverter(value = ToAttributedValueConverter.class, strings = {
"text" })
public class Node {
private String att;

private String text;
}

这正确反序列化:

    XStream xstream = new XStream();
xstream.processAnnotations(Root.class);

Root root = (Root) xstream.fromXML(xml);

关于java - 如何使用 XStream 反序列化属性和文本节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50875238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com