XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market_price和shop_price.对应的实体类命名于此相似。可是在后台使用Xstream将数据读出转换为对xml对象时,前台使用Extjs的ajax请求,所有其他的属性在前台都可以被解析,唯独 此二者不可解析,仔细检查了一遍也没有发现是什么原因。后来将生产的xml文件粘贴到NotePad 放大后才发现原有得market_price 已经变成了market__price 知道了为什么解析不了的原因。于是在网上搜索找到了一个可行的办法:通过转换过滤来解决这个问题。具体解决方法如下:
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + sm.toXML(results); xml=xml.replace("__", "_");
注意:在toXML方法后进行过滤替换。