【问题标题】:deserializing xml to different type将xml反序列化为不同的类型
【发布时间】:2016-04-11 01:43:12
【问题描述】:

我正在尝试反序列化一个 XML(到目前为止它正在工作)。 XML 以字符串的形式读取所有内容。

在填充属性 ID 时,我想将其从字符串转换为 GUID。但我似乎无法完成这项工作。

谢谢。

public class Feature
    {
        [XmlAttribute]
        public string ID
        {
        set
            {
                ID = new Guid(ID);
            }
        }

XML:

<Features>
            <Feature ID="8581a8a7-cf16-4770-ac54-260265ddb0b2" FeatureName="SharePoint Server Enterprise Site Collection features" />
</Features>

【问题讨论】:

  • 您的 sn-p 有一个 setter 调用自己,这将始终导致堆栈溢出,并且由于类型不匹配而无论如何都不会编译。 sscce.org

标签: c# xml serialization deserialization


【解决方案1】:

您的代码无法编译,但无论如何 - 为什么不将属性类型从 string 更改为 Guid?当您反序列化时,转换将自动发生。试试看:

public class Feature
{
    [XmlAttribute]
    public Guid ID { get; set; }
}

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2020-12-09
    • 2016-05-05
    相关资源
    最近更新 更多