Xstream-xml和实体对象相互转换特殊问题

之前发了一篇博文《xml和实体对象相互转换 一步到位》,在项目实际应用过程中我遇到了这种xml格式:

Xml代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <html>
  3. bodydivid="div1"name="div">123</divformaction="saveForm.asp"method="post"h1>请输入您的联系信息:lable>名字:pinputtype="submit"id="btn_sub"name="btn_sub"value="Submit"/>
  4. inputtype="reset"id="btn_res"name="btn_res"value="Reset"form>

原来我举例用的是以下xml文件:

两个xml的区别是:

<div id="div1" name="div"/>

<div id="div1" name="div">123</div>

针对<a b="">123</a>这种类型的问题解决方案是:见代码:

修改原来的HtmlDiv:加了字段value,然后注解加了@XStreamConverter(HtmlConverter.class),HtmlConverter这是自己实现了Xstream的Converter

Java代码
    @XStreamAlias("div")
  1. @XStreamConverter(HtmlConverter.class)
  2. publicclassHtmlDivimplementsBaseConverterBean{
  3. @XStreamAsAttribute
  4. privateStringid;
  5. privateStringname;
  6. privateStringvalue;
  7. publicStringgetId(){
  8. returnid;
  9. }
  10. voidsetId(Stringid){
  11. this.id=id;
  12. publicStringgetName(){
  13. returnname;
  14. voidsetName(Stringname){
  15. this.name=name;
  16. publicStringgetValue(){
  17. returnvalue;
  18. voidsetValue(Stringvalue){
  19. this.value=value;
  20. }


HtmlConverter:

classHtmlConverterimplementsConverter{
  • @Override
  • voidmarshal(Objectobj,HierarchicalStreamWriterwriter,MarshallingContextarg2){
  • HtmlDivdiv=(HtmlDiv)obj;
  • writer.setValue(div.getValue());
  • publicObjectunmarshal(HierarchicalStreamReaderreader,UnmarshallingContextarg1){
  • HtmlDivdiv=newHtmlDiv();
  • div.setValue(reader.getValue());
  • returndiv;
  • @SuppressWarnings("unchecked")
  • booleancanConvert(Classclazz){
  • returnclazz.equals(HtmlDiv.class);
  • 经测试这样就能取到value的值的。


    @XStreamConverter(value=ToAttributedValueConverter.class,strings{"fileName})
    publicstaticInputFileInfo{
    @XStreamAsAttribute
    privateStringtype;
    StringfileName;

    }
  • 同上自定义转换一样功能。

    http://crawler.iteye.com/blog/1672986

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐


    xml怎么加入图片路径
    rss源错误怎么解决
    文件后缀xml是什么意思
    xml格式电子发票怎么获取
    xml格式是什么意思
    rss是什么意思啊
    xml格式电子发票怎么打开
    rss订阅源是什么意思
    rss源是什么
    xml注释怎么写
    php输出xml格式字符串
    J2ME Mobile 3D入门教程系列文章之一
    XML轻松学习手册
    XML入门的常见问题(一)
    XML入门的常见问题(三)
    XML轻松学习手册(2)XML概念
    xml文件介绍及使用
    xml编程(一)-xml语法
    XML文件结构和基本语法
    第2章 包装类