【问题标题】:C# - Get XElement.Value in a custom datetime formatC# - 以自定义日期时间格式获取 XElement.Value
【发布时间】:2011-08-29 14:24:49
【问题描述】:

这是我的问题:

我有一个 XElement 存储一个 DateTime,并且我希望 Value 属性以自定义格式返回 DateTime
我想知道是否有办法在XElement 中包含IFormatProvider

【问题讨论】:

    标签: c# xelement iformatprovider


    【解决方案1】:

    我认为你在这里混合了一些东西。 XElement 始终将其值存储为字符串。要获得自定义日期格式,您需要先将此字符串转换为DateTime 对象,然后以您想要的格式调用ToString

    【讨论】:

    • 如果不调用 ToString 方法就没有办法添加日期时间来达到我的目标?由于 XElement.add 方法可以接收一个对象,它可能有办法做到这一点。
    • @dcidral:不。它在内部只是将提供的对象转换为字符串。如果对象是DateTime,则它使用XmlConvert.ToString(value, XmlDateTimeSerializationMode.RoundtripKind); 进行此转换。
    • 感谢您的回复。我不知道为什么MS没有考虑,现在我需要自己格式化所有元素。
    • 这不是疏忽。这才有意义,因为 XML 只能存储文本。它不能存储任意对象。
    • 是的,但它应该有一种方法来设置对象的文本格式,这将非常有帮助。 XmlConvert 可以是一个接口,让程序员更灵活。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多