【发布时间】:2018-04-02 09:35:50
【问题描述】:
假设,我有一个示例类foo,其属性为bar。我已经为 JAXB 设置了注解,所以我可以将其导出为 XML 并重新导入。
@XmlRootElement
public class foo {
private int bar;
@XmlElement()
public int getBar() {
return bar;
}
public void setBar(int bar) {
this.bar = bar;
}
}
XML 文件应如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<foo>
<bar>5</bar>
</foo>
现在我学会了,我也可以将bar设为一个属性。改用@XmlAttribute 会使它看起来像<foo bar="5"/>,我更喜欢哪个?
我已经有很多使用旧架构的文件。手动更改它们会非常麻烦,所以我想自动进行。
JAXB 是否提供转换文件的便捷方式?也许解组和编组的不同注释?如果不付出太多努力,我还能做些什么来实现这一目标?
【问题讨论】:
-
你的意思是你有一堆带有
<bar>5</bar>的xml文件? -
@pirho 是的,我想将它们转换为
,所以我可以将它们与 XmlAttribute 注释一起使用 -
如果不是你每天都做的事情,也许只是一些简单的文件替换正则表达式的东西会更合适?但是你想用 java jaxb 的方式来做吗?
-
@pirho 它已经完成了一次,而且不需要太多的努力。我不坚持使用 JAXB,但我认为这可能是最简单的方法。