c# - .NET 自定义 Xml 序列化

标签 c# .net xml-serialization

我正在研究一些需要序列化/反序列化为 xml 的类,这些类可用于配置。这是我正在尝试做的示例

[Serializable]
public class MyConfig
{
    [XmlElement] 
    public string ConfigOption { get; set; }
    [XmlElement] 
    public Uri SomeUri { get; set; }
}

我想重写 Uri 属性的序列化方式。所以当调用serialize方法时,我希望它看起来像这样

<MyConfig>
  <ConfigOption></ConfigOption>
  <SomeUri uri="" />
</MyConfig>

有没有办法插入.net序列化并覆盖所有Uri对象的序列化和反序列化方式?请注意,我不想创建一个名为 MyUri 的类并将其用作 SomeUri 的类型,我只想插入序列化的 Uri 类型的序列化位置并覆盖该行为。

最佳答案

public class MyConfig
{
    [XmlElement] 
    public string ConfigOption { get; set; }
    [XmlElement] 
    public MyUri SomeUri { get; set; }
}

public class MyUri
{
    [XmlAttribute(Name="uri")]
    public Uri SomeUri { get; set; }
}

关于c# - .NET 自定义 Xml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298783/

相关文章:

c# - 2000 个工作线程,只有很少的实际线程

c# - 使用 WCF 生成 SOAP 请求 (RSA-SHA256 PKCS #1 v1.5)

c# - XML 对象反序列化到接口(interface)

vb.net - 为什么 XmlSerializer 不适用于共享类变量?

c# - Linq List.Contains(x => ...) - CS0103 x 在当前上下文中不存在(在 foreach 中)

c# - 使用代码优先映射弱实体

c# - 简单的注入(inject)器为不同的命令使用不同的装饰器

c# - 使用 XmlSerializer 序列化 char 数据类型

c# - 参数可选与否,取决于之前的参数

c# - 我的网站将阿拉伯文本显示为问号符号