xstream转换空标签问题?

使用xstream会将内容为空的转换成空标签<age></age>,而我需要自关闭标签<age/>;有没有什么办法可以改变xstream的生成方法?或者将生成后的xml文件通过别的方法再转换一下?


回答:

利用SingleValueConverter接口来实现吧:

import com.thoughtworks.xstream.XStream;

import com.thoughtworks.xstream.converters.SingleValueConverter;

public class EmptyAttributeConverter implements SingleValueConverter {

@Override

public String toString(Object obj) {

String value = (String) obj;

if (value == null || value.isEmpty()) {

return "/>";

}

return ">" + value + "</name>";

}

@Override

public Object fromString(String str) {

return str;

}

@Override

public boolean canConvert(Class type) {

return type.equals(String.class);

}

}

public class Main {

public static void main(String[] args) {

XStream xstream = new XStream();

xstream.registerConverter(new EmptyAttributeConverter());

// ...

}

}

以上是 xstream转换空标签问题? 的全部内容, 来源链接: utcz.com/p/944900.html

回到顶部