繁体   English   中英

如何使用属性标记C#类以使其可序列化?

[英]How to mark up C# class with attributes to make it XML serializable?

所以我上课了。 我想让它可序列化(进入XML和返回)。 我知道如何使用Xml.Linq进行序列化..但它是通过手工序列化 - 当我标记类并使其前后序列化时,它不是自动化的protobuf与它的[ProtoContract] 和其他属性

所以我想要挥手

public class Entries {
    public List<Entry> Entries {get; set;}
}

public class Entry {
    public string Id {get; set;}
    public string Path {get; set;}
}

得到XML像:

<entries>
    <entry id="value" path="value"/>
</entries>

那么如何使用属性标记C#类以使其可序列化?

您需要使用[XmlRoot][XmlAttribute]等属性。 您可以将XML元素名称指定为属性的参数。

请参阅http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlrootattribute.aspx以及命名空间中可以使用的属性的其余属性。

您需要向与您的XML匹配的类和类成员添加属性,例如: -

[Serializable]
[XmlRoot("RootNode")] 
public class Example
{
    [XmlElement("Foo")]
    public string Foo { get; set; }
    [XmlElement("Bar")]
    public string Bar { get; set; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM