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