gpt4 book ai didi

xml - 自定义 XStream 输出

转载 作者:行者123 更新时间:2023-12-04 06:46:21 25 4
gpt4 key购买 nike

我有一个类似于这样的类:

class foo {
List<String> bar;
...
}

我在列表中添加了四个字符串 bar :
bar.add("1");
bar.add("2");
bar.add("3");
bar.add("4");

使用 xstream,我设法获得如下所示的输出:
<foo>
<bar>
<blah>1</blah>
<blah>2</blah>
<blah>3</blah>
<blah>4</blah>
</bar>
</foo>

但是,我需要如下所示的 XML:
<foo>
<bar>
<blah id="1"/>
<blah id="2"/>
<blah id="3"/>
<blah id="4"/>
...
</bar>
</foo>

有人可以帮我解决这个问题吗?

最佳答案

您可以通过执行以下操作获得所需的输出:

1:创建 Blah 类,除非您希望所有字符串都表现为显示为属性。

@XStreamAlias("blah")
public class Blah {
@XStreamAsAttribute
String id;

Blah(){};

Blah(String s) {
this.id = s;
}
}

2:你的 foo 有一堆废话
@XStreamAlias("foo")
public class Foo {
List<Blah> bar = new ArrayList<Blah>();
}

3:告诉XStream处理注解
XStream xstream = new XStream();
xstream.processAnnotations(Foo.class);
xstream.processAnnotations(Blah.class);
System.out.println(xstream.toXML(f));

4:这是输出:
<foo>
<bar>
<blah id="1"/>
<blah id="2"/>
<blah id="3"/>
<blah id="4"/>
</bar>
</foo>

关于xml - 自定义 XStream 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724396/

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