C# 如何序列化对象';s属性转换为XML元素';s属性?
我已经创建了一个可序列化的对象,我想将其序列化为XML,然后再反序列化回来。不过,我想要的是将该对象的一个属性保存为XML属性。我的意思是: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"
[可序列化]
公共类程序信息
{
公共字符串名称{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);}
}
}
可能的重复可能的重复可能的重复可能的重复