我有类文件,比如“com.main.module.Test.java”。我需要将此文件转换为xml。如果我使用javax.xml.bind.JAXB,则返回的xml如下所示:
<Test>
<sample>
</sample>
</Test>
但我需要将xml显示为:
<com.main.module.Test>
<com.main.module.sample>
</com.main.module.sample>
</com.main.module.Test>
答案 0 :(得分:1)
您可以为所需元素命名,只要它是valid name。
示例:
@XmlRootElement(name = "com.main.module.Test")
class Foo {
@XmlElement(name = "com.main.module.sample")
String bar;
public static void main(String[] args) throws Exception {
Foo foo = new Foo();
foo.bar = "Hello World";
Marshaller marshaller = JAXBContext.newInstance(Foo.class).createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(foo, System.out);
}
}
输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<com.main.module.Test>
<com.main.module.sample>Hello World</com.main.module.sample>
</com.main.module.Test>
如您所见,根元素名称与类名无关,子元素名称与字段名无关。