.net – 如何使XML序列化DateTimeOffset属性?
发布时间:2020-12-16 07:53:18 所属栏目:百科 来源:网络整理
导读:当数据表示为Xml时,此类中的DateTimeOffset属性不会被渲染.我需要做什么来告诉Xml序列化,以便将其适当地作为DateTime或DateTimeOffset? [XmlRoot("playersConnected")]public class PlayersConnectedViewData{ [XmlElement("playerConnected")] public Play
当数据表示为Xml时,此类中的DateTimeOffset属性不会被渲染.我需要做什么来告诉Xml序列化,以便将其适当地作为DateTime或DateTimeOffset?
[XmlRoot("playersConnected")] public class PlayersConnectedViewData { [XmlElement("playerConnected")] public PlayersConnectedItem[] playersConnected { get; set; } } [XmlRoot("playersConnected")] public class PlayersConnectedItem { public string name { get; set; } public DateTimeOffset connectedOn { get; set; } // <-- This property fails. public string server { get; set; } public string gameType { get; set; } } 和一些样本数据… <?xml version="1.0" encoding="utf-8"?> <playersConnected xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <playerConnected> <name>jollyroger1000</name> <connectedOn /> <server>log1</server> <gameType>Battlefield 2</gameType> </playerConnected> </playersConnected> 更新 我希望可能会有一种方式通过属性,我可以在物业上装饰… 奖金问题 以任何方式摆脱在根节点中声明的两个命名空间?我是不是该?
这是几年之后,但这里是使用ISO 8601完成序列化DateTimeOffset的快速简单的方法:
[XmlElement("lastUpdatedTime")] public string lastUpdatedTimeForXml // format: 2011-11-11T15:05:46.4733406+01:00 { get { return lastUpdatedTime.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz"); } set { lastUpdatedTime = DateTimeOffset.Parse(value); } } [XmlIgnore] public DateTimeOffset lastUpdatedTime; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |