Code Bye

XStream的bug,下划线“_”解析为xml后。字段不匹配

 

XStream的bug,比如在定义别名中的下划线“_”解析为xml后。xml的节点<per_name>对应person类中的per_name字段不匹配
报错为:
Exception in thread “main” com.thoughtworks.xstream.alias.CannotResolveClassException: per_name : per_name

我发现是下划线的问题。去掉之后就可以匹配。请各位大侠帮忙………..正在做项目碰到的问题…谢了


40分
在_前面加上\试试呢  转义字符
我试过了,还是不行。这种解析xml是用XStream解析的 那些节点元素和转换成对应的对象字段时,节点和字段一模一样就是匹配不了,把他们俩的下划线都去掉就能匹配了。关键是这些都是命名好的不能改。希望大家帮我解决这个问题!谢了………
大侠们请问用那种方法解析XML后把值赋值给一个实体类,比如:
<student>
<sd_name></sd_name>
<sd_age></sd_age>
</student>
解析后把里面的值赋值给一个实体类为Student。谢谢大侠们给出具体的示例!谢谢了……..急急
比如
<?xml version=”1.0″ encoding=”UTF-8″?>
<interface version=”1.0″>
    <student>
        <s_name>小明</s_name>
        <s_sex>男</s_sex>
        <s_age>18</s_age>
        <s_email>zhangsan@163.com</s_email>
        <s_birthday>1987-06-08</s_birthday>
        <s_memo>盖饭</s_memo>
    </student>
    <school>
     <s_name>中学</s_name>
     <s_address>海淀区</s_address>
    </school>
</interface>
用SXtreme解析转换成一个bean对象,求高手帮忙!!
刚才也遇到了这个问题,师傅给支了一招,生成的时候替换一下就好了,试试看吧
String xmlStr=xstream.toXML(list);
xmlStr=xmlStr.replace(“__”, “_”);
直接替换整个节点名不就行了 xml = xml.replaceAll(“s_name”, “sName”);
我也遇到了
明明注释是”_”  @TagLevel(taglevel = “1”,tagname = “SERVICE_CODE”)
但是,
生成的报文这样“
<USER__LANG></USER__LANG>
      <SEQ__NO></SEQ__NO>
      <SOURCE__BRANCH__NO></SOURCE__BRANCH__NO>

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明XStream的bug,下划线“_”解析为xml后。字段不匹配