Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何序列化对象';s属性转换为XML元素';s属性?_C#_Xml_Serialization - Fatal编程技术网

C# 如何序列化对象';s属性转换为XML元素';s属性?

C# 如何序列化对象';s属性转换为XML元素';s属性?,c#,xml,serialization,C#,Xml,Serialization,我已经创建了一个可序列化的对象,我想将其序列化为XML,然后再反序列化回来。不过,我想要的是将该对象的一个属性保存为XML属性。我的意思是: [可序列化] 公共类程序信息 { 公共字符串名称{get;set;} 公共版本版本{get;set;} } 公共类版本 { 公共int主键{get;set;} public int Minor{get;set;} 公共int生成{get;set;} } 我想将ProgramInfo保存到如下所示的XML文件: <?xml version="1.0"

我已经创建了一个可序列化的对象,我想将其序列化为XML,然后再反序列化回来。不过,我想要的是将该对象的一个属性保存为XML属性。我的意思是:

[可序列化]
公共类程序信息
{
公共字符串名称{get;set;}
公共版本版本{get;set;}
}
公共类版本
{
公共int主键{get;set;}
public int Minor{get;set;}
公共int生成{get;set;}
}
我想将ProgramInfo保存到如下所示的XML文件:

<?xml version="1.0" encoding="utf-8" ?>
<ProgramInfo Name="MyApp" Version="1.00.0000">

</ProgramInfo>


请注意XML中的Version属性及其对应属性。我已经有了将字符串“1.00.0000”转换为有效版本对象的解析器,反之亦然,但我不知道如何将其用于此XML序列化场景。

您可以做的是拥有一个VersionValue和VersionType属性

[Serializable]
public class ProgramInfo
{
  private string _versionValue;
  public string Name { get; set; }
  public string VersionValue 
  { 
    get
    {
      return _versionValue;
    }
    set{
       _versionValue = value;
       //Private method to parse
       VersonType = parseAndReturnVersionType(value);

       } 
  }
  public Version VersionType { get; set; }
}

您可以做的是拥有VersionValue和VersionType属性

[Serializable]
public class ProgramInfo
{
  private string _versionValue;
  public string Name { get; set; }
  public string VersionValue 
  { 
    get
    {
      return _versionValue;
    }
    set{
       _versionValue = value;
       //Private method to parse
       VersonType = parseAndReturnVersionType(value);

       } 
  }
  public Version VersionType { get; set; }
}

您可以做的是拥有VersionValue和VersionType属性

[Serializable]
public class ProgramInfo
{
  private string _versionValue;
  public string Name { get; set; }
  public string VersionValue 
  { 
    get
    {
      return _versionValue;
    }
    set{
       _versionValue = value;
       //Private method to parse
       VersonType = parseAndReturnVersionType(value);

       } 
  }
  public Version VersionType { get; set; }
}

您可以做的是拥有VersionValue和VersionType属性

[Serializable]
public class ProgramInfo
{
  private string _versionValue;
  public string Name { get; set; }
  public string VersionValue 
  { 
    get
    {
      return _versionValue;
    }
    set{
       _versionValue = value;
       //Private method to parse
       VersonType = parseAndReturnVersionType(value);

       } 
  }
  public Version VersionType { get; set; }
}

您需要的是序列化的字符串表示的属性:

[Serializable]
public class ProgramInfo
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlIgnore]
    public Version Version { get; set; }

    [XmlAttribute("Version")
    public string VersionString 
    { 
      get { return this.Version.ToString(); } 
      set{ this.Version = Parse(value);}
    }
}

您需要的是序列化的字符串表示的属性:

[Serializable]
public class ProgramInfo
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlIgnore]
    public Version Version { get; set; }

    [XmlAttribute("Version")
    public string VersionString 
    { 
      get { return this.Version.ToString(); } 
      set{ this.Version = Parse(value);}
    }
}

您需要的是序列化的字符串表示的属性:

[Serializable]
public class ProgramInfo
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlIgnore]
    public Version Version { get; set; }

    [XmlAttribute("Version")
    public string VersionString 
    { 
      get { return this.Version.ToString(); } 
      set{ this.Version = Parse(value);}
    }
}

您需要的是序列化的字符串表示的属性:

[Serializable]
public class ProgramInfo
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlIgnore]
    public Version Version { get; set; }

    [XmlAttribute("Version")
    public string VersionString 
    { 
      get { return this.Version.ToString(); } 
      set{ this.Version = Parse(value);}
    }
}
可能的重复可能的重复可能的重复可能的重复