XML文档中存在错误(0,0)

时间:2014-12-09 13:21:57

标签: c# xml serialization

我已经检查了SO上的三个点击,给出了错误信息。它们似乎都不相关(reader on element createddocument isn't emptywrong library used)。

我的 Mapping 类看起来像这样。

[Serializable]
public class Mapping
{
  [XmlElement] public String Key { get; set; }
  [XmlElement] public String Field { get; set; }
  [XmlElement] public String Value { get; set; }
  [XmlElement] public bool Enable { get; set; }
} 

当我尝试使用下面的代码手动分配时,我让它按原样运行。

return characteristics.ToDictionary(
  element => element.Element("Name").Value,
  element => element.Descendants("DataMapping")
    .Select(felement => new Mapping
    {
      Key = felement.Element("Key").Value
    }));

但是,当我尝试对正在读取的相同数据集进行反序列化时,我会在主题中收到错误。

return characteristics.ToDictionary(
  element => element.Element("Name").Value,
  element => element.Descendants("DataMapping")
    .Select(felement 
      => serializer.Deserialize(felement.CreateReader()) as Mapping));

我知道(几乎)肯定我做了一些愚蠢的事情而忘记了一些东西,但我却看不出什么......而且我想出更多的事情要想尝试。

1 个答案:

答案 0 :(得分:2)

问题是您的元素名为 DataMapping ,您的类名为 Mapping 。您可以将类重命名为 DataMapping ,也可以将 XmlRoot 属性添加到类

[Serializable]
public class DataMapping
{
  ...
}

...或

[XmlRoot("DataMapping")]
public class Mapping
{
  ...
}