欢迎光临

木子屋

标题: XmlSerializer反序列化失败：时间字符串不是有效的AllXsd值

作者: dnawo

日期: 2014-04-11 09:42 PM

分类: Win编程

内容: 引用内容<?xml version="1.0" encoding="gb2312"?>
<response>
<account>270250392</account>
<operator>腾讯Q币</operator>
<amount>1</amount>
<addtime>2014-4-15 10:51:39</addtime>
</response>
使用XmlSerializer对上边xml反序列化时失败，提示字符串“2014-4-15 10:51:39”不是有效的AllXsd值，错误原因是XmlSerializer正常序列化时间为2014-04-15T10:51:39，上边xml时间格式不正确所以反序列化失败。由于xml是从其他平台获得，只能在反序列化这边修改，下边对response类稍做修改可解决：
复制内容到剪贴板 程序代码[XmlRoot("response")]
public class JPayResponse
{
public string account { get; set; }
public string @operator { get; set; }
public int amount { get; set; }
[XmlIgnore]
public DateTime addtime { get; set; }
[XmlElement("addtime")]
public string addtime2
{
get { return addtime.ToString("yyyy-MM-dd HH:mm:ss"); }
set { addtime = DateTime.Parse(value); }
}
}
参考资料
[1].XmlSerializer:Format DateTime String：http://www.dotblogs.com.tw/alonstar/archive/2010/04/19/14688.aspx

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.691 ms

返回

标题: XmlSerializer反序列化失败：时间字符串不是有效的AllXsd值

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.691 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.727 ms

返回