症状

用XmlSerializer进行xml反序列化的时候,程序报错:

不应有 <xml xmlns=''>。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 不应有 <xml xmlns=''>。

我的xml如下:

1 <xml><ToUserName><![CDATA[gh_1874139df55e]]></ToUserName>
2 <FromUserName><![CDATA[ov4latyc1pi0_Ics0uHY6QTLRDg8]]></FromUserName>
3 <CreateTime>1388056811</CreateTime>
4 <MsgType><![CDATA[text]]></MsgType>
5 <Content><![CDATA[哈哈]]></Content>
6 <MsgId>5961658608245054071</MsgId>
7 </xml>

要反序列化的对象类型:

01 public class WXP_Message
02     {
03         public int MessageId { getset; }
04  
05         public string ToUserName { getset; }
06  
07         public string FromUserName { getset; }
08  
09         public DateTime CreateTime { getset; }
10  
11         public string MsgType { getset; }
12  
13         public string Event { getset; }
14  
15         public string Content { getset; }
16  
17         public string PicUrl { getset; }
18  
19         public string Format { getset; }
20  
21         public string Location_X { getset; }
22  
23         public string Location_Y { getset; }
24  
25         public string Scale { getset; }
26  
27         public string Label { getset; }
28  
29         public string Title { getset; }
30  
31         public string Description { getset; }
32  
33         public string Url { getset; }
34  
35         public int MsgId { getset; }
36  
37         public int MediaId { getset; }
38  
39         public int ThumbMediaId { getset; }
40  
41         public bool IsReplied { getset; }
42  
43         public string ReplyContent { getset; }
44  
45         public DateTime ReplyTime { getset; }
46  
47         public bool IsGiftVoucher { getset; }
48  
49         public int IntTime { getset; }
50  
51     }
 
诊断

这个错误一般都是xml不能反序列化为目标对象类型造成的,我的这个原因是因为:xml的根节点(xml)和对象名(wxp_message)不一样导致的不能反序列化

 
解决

修改xml根节点和对象类名一样就可以了

1 <WXP_Message><ToUserName><![CDATA[gh_1874139df55e]]></ToUserName>
2 <FromUserName><![CDATA[ov4latyc1pi0_Ics0uHY6QTLRDg8]]></FromUserName>
3 <CreateTime>1388056811</CreateTime>
4 <MsgType><![CDATA[text]]></MsgType>
5 <Content><![CDATA[哈哈]]></Content>
6 <MsgId>5961658608245054071</MsgId>
7 </WXP_Message>

XML 文档(1, 2)中有错误:不应有 <xml xmlns=''>的更多相关文章

  1. XML反序列化出错,XML 文档(2, 2)中有错误

    XML转换为实体类的错误处理方案 一.错误描述: XML反序列化出错,XML 文档(2, 2)中有错误 二.解决方案: 在实体类的字段要加上XmlElement属性 三.具体实现: 1.XML文档 & ...

  2. c# Net XML文档(2,2)中有错误

    错误如图所示: xml转实体,需求很简单,度娘找了几个方法试了下,转换代码仔细看了看 没毛病啊  但是 就是提示 XML文档(2,2)中有错误,百度搜索了一大会 没解决方案,仔细分析了一下, 最后发现 ...

  3. 关于"XML 文档(2, 2)中有错误:不应有 <xml xmlns=''>"错误

    XML文件名 <?xml version="1.0" encoding="utf-8"?> <Config xmlns:xsi="h ...

  4. C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”

    Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...

  5. Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作

    Oracle 远程访问配置   服务端配置 如果不想自己写,可以通过 Net Manager 来配置. 以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问. 1.网络监听配置 ...

  6. 关于xml文档使用出现的错误及其解决方法

    在学习xml的时候在运行下面程序时候出现了错误,很是烦恼,翻遍了许多博客都没有找到方法,终于在一个不起眼的地方找到了解决方法,很高兴记录下来 运行的程序如下: import xml.etree.Ele ...

  7. net9:磁盘目录文件保存到XML文档及其XML文档的读写操作,以及绑定XML到treeview

    原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] directorytoxml类: using System;using System.Data;using Sys ...

  8. 使用DOM4J解析XML文档,以及使用XPath提取XML文档

    使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...

  9. Java开发知识之XML文档使用,解析

    目录 XML文件详解 一丶XML简介 1.文档结构 2.XML中的元素(Element)或者叫做标签(Tab).属性 文本内容. 节点(Node) 3.XML语法规则 二丶XML文档解析 三丶使用XP ...

随机推荐

  1. jenkins之 pipeline 小尝试

    最近,一个小需求,动态建立slave节点来执行自动化用例,原有jenkins 老方式不满足需求,就用到jenkins2的pipeline来实现,但在实现过程中,2个小坑记录下 1.jenkins不能读 ...

  2. iOS - 标准时间与时间戳相互转换

    做倒计时后台传的不是时间戳,是时间然后需要与系统时间对比得出时间戳进行倒计时显示 #pragma mark -- 倒计时 // 倒计时时间 NSString* timeStr = task.recei ...

  3. perl 读取一个文件 替换文件的关键词 把数据替换到新的文件

    replace # replace #!/usr/bin/perl my @data = (); my ($fname ,$rp, $nfname)= @ARGV; my ($o, $n) = spl ...

  4. 栈的C语言实现

    在C++中,可以直接使用std::stack C语言实现如下: stack.c /** * @file stack.c * @brief 栈,顺序存储. * * * */ #include <s ...

  5. Mapper 赋值对应实体属性

    public static class MapperExtensions { public static TResult MapTo<TResult>(this object self, ...

  6. HDU 4699 - Editor - [对顶栈]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4699 Problem Description Sample Input8I 2I -1I 1Q 3LD ...

  7. [No000017C]改善C#程序的建议5:引用类型赋值为null与加速垃圾回收

    在标准的Dispose模式中(见前一篇博客“C#中标准Dispose模式的实现”),提到了需要及时释放资源,却并没有进一步细说让引用等于null是否有必要. 有一些人认为等于null可以帮助垃圾回收机 ...

  8. maven添加settings.xml使用阿里云仓库

    在~/.m2/repository目录下新建settings.xml,内容如下: <mirrors> <!-- mirror | Specifies a repository mir ...

  9. python--json串相关的loads dumps load dump

    #1 json串长的像字典,但不是字典类型,是str类型 #例如:user_info为json串,dict为字典,如果txt文本中标识dict的内容 为json串user_info = '''{&qu ...

  10. [daily][ulimit][coredump] 快速简单粗暴的用coredump调试

    http://www.cnblogs.com/hugetong/p/6898608.html 一个程序挂掉了, 怎么办?  启动coredump 写一个脚本: [root@T185 ~]# cat / ...