gpt4 book ai didi

java - 为什么 JAXB 不写出 SWT Widget?

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:36 25 4
gpt4 key购买 nike

我有一个类来存储 SWT 小部件列表。

@XmlRootElement
class Test {
private List<Widget> widgets;

public List<Widget> getWidgets() {
return widgets;
}

public void setWidgets(List<Widget> widgets) {
this.widgets = widgets;
}
}

我使用 JAXB 将其编码为 XML。然而,这些小部件没有被编码。

Test t = new Test();
t.setWidgets(widgets);
JAXBContext context = JAXBContext.newInstance(Test.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(t, System.out);

这是输出:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>
<widgets/>
<widgets/>
<widgets/>
</test>

最佳答案

您的JAXB (JSR-222)实现无法使用反射确定 Widget 的子类,因此您需要在创建 JAXBContext 时包含它们。

JAXBContext context = JAXBContext.newInstance(Test.class, Button.class, Label.class);

关于java - 为什么 JAXB 不写出 SWT Widget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642254/

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