使用xml属性名称反序列化 - >属性

时间:2013-09-30 11:33:58

标签: c# serialization deserialization

说我有以下XML

<doc>
    <float name="score">7.8753223</float>
    <str name="author">asdadsad</str>
    <str name="body">...</str>
    <str name="category">haelth-safety</str>
</doc>

以及以下课程:

public class Doc{
    public double Score { get; set; }
    public string Author { get; set; }
    public string Body{ get; set; }
    public string Category{ get; set; }
}

如何告诉序列化程序使用xml属性名称将数据映射到c#属性?

1 个答案:

答案 0 :(得分:0)

您无法使用指定的xml格式的声明性(属性)序列化来执行此操作。如果要使用声明性序列化,请将格式更改为以下内容:

<doc>
    <score>7.8889798</score>
    <author>agfdfg</author>
    <body>...</body>
    <category>haleth safet</category>
</doc>

并使用XmlElementAttribute为您序列化的属性指定相应的元素名称。