简单的问题!我有这样一个类,如果该属性为空(或只是 null),那么该属性根本不应该出现在生成的 XML 文件中
XML 文件:(注意属性 abc 中的空字符串,我不想要这样的东西!)
<root abc="">
<example>somethin</example>
</root>
Java 类
@Root
public class Data {
@Element(name="example">
private String value;
@Attribute(name="abc", required=false)
private String s;
public String getString() {
return s;
}
我尝试使用@Convert,但它仅适用于@Element...有没有办法在xml文件为空时删除该属性?
最佳答案
使用自定义 XMLAdapter,如下所示:
public class ExampleAdapter extends XmlAdapter<String, String> {
@Override
public String marshal(String exampleString) throws Exception {
return exampleString;
}
@Override
public String unmarshal(String exampleString) throws Exception {
if (exampleString.isEmpty()) {
return null;
}
return exampleString;
}}
然后将您的属性(property)与其关联起来:
@XmlAttribute
@XmlJavaTypeAdapter(ExampleAdapter.class)
public void setExample(String example) {
this.example = example;
}
关于java - 简单框架 XML 删除空属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30201938/