xstream 转换下划线的问题
博客专区 > kongjun 的博客 > 博客详情
xstream 转换下划线的问题
kongjun 发表于2年前
xstream 转换下划线的问题
  • 发表于 2年前
  • 阅读 2151
  • 收藏 6
  • 点赞 1
  • 评论 2

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: XStream的bug,比如在定义别名中的下划线“_”转换为xml后会变成“__”

XStream的bug,比如在定义别名中的下划线“_”转换为xml后会变成“__”
比如:

XStream stream=new XStream();
                  stream.alias("person", Person.class);
String message=stream.toXML(person);

如果person类中有个字段 为 per_name  有 _  转换为 XML后 会出现 __  <per__name></per__name>

这个需要怎么解决?

XStream xStream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));

因为_是关键字,默认的会变为__ 
$也是关键字,默认为_-,这2个参数一个改变$的显示,一个改变_的显示

标签: XStream
共有 人打赏支持
粉丝 8
博文 96
码字总数 40140
评论 (2)
深蓝蝴蝶
重写NameCoder
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
public class XStreamNameCoder extends XmlFriendlyNameCoder {
public XStreamNameCoder() {
super("_-", "_");
}
}

//实例化对象
XStreamNameCoder nameCoder = new XStreamNameCoder();
XStream stream = new XStream(new XppDriver(nameCoder));
深蓝蝴蝶
重写NameCoder
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
public class XStreamNameCoder extends XmlFriendlyNameCoder {
public XStreamNameCoder() {
super("_-", "_");
}
}

//实例化对象
XStreamNameCoder nameCoder = new XStreamNameCoder();
XStream stream = new XStream(new XppDriver(nameCoder));
×
kongjun
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: