1

所以我有课。我想让它可序列化(转换为 XML 并返回)。我知道如何使用 Xml.Linq 进行序列化..但它是手动序列化 -当我标记类并将其返回和转发可序列化时,它不是自动化的,具有它的[ProtoContract] 和其他属性的 protobuf 。

所以我想知道如何挥手

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# 类以使其 XML 可序列化呢?

4

2 回答 2

2

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

[Serializable]
[XmlRoot("RootNode")] 
public class Example
{
    [XmlElement("Foo")]
    public string Foo { get; set; }
    [XmlElement("Bar")]
    public string Bar { get; set; }
}
于 2013-06-25T15:19:27.600 回答
2

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

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

于 2013-06-25T15:15:30.550 回答