不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
XmlSerializer反序列化失败:时间字符串不是有效的AllXsd值
编辑:dnawo 日期:2014-04-11

<?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>
<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); }
}
}
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 | 引用: 0 | 查看次数: 11379
发表评论
请登录后再发表评论!