【发布时间】:2015-03-20 15:38:41
【问题描述】:
我正在使用XmlSerializer 序列化和反序列化 XML 文档。
public class FolderPath
{
public string Path { get; set; }
}
这就是我对类进行序列化的方式:
private static void UpdateFolderPathsXml(List<FolderPath> folderPaths,
string fileName = "FolderPaths.xml")
{
XmlSerializer x = new XmlSerializer(folderPaths.GetType());
TextWriter writeFileStream = new StreamWriter(fileName);
x.Serialize(writeFileStream, folderPaths);
writeFileStream.Close();
}
这就是我反序列化的方式,也是我得到错误的地方,外部异常是
XML 文档有错误 (2, 2)
,内部异常是
ArrayOfFolderPath xmlns='' 不是预期的。
XmlSerializer x = new XmlSerializer(typeof (FolderPath));
using (FileStream reader = new FileStream(fileName, FileMode.Open,
FileAccess.Read, FileShare.Read))
{
// This is the line that shows the exception
var readPathList = (List<FolderPath>)x.Deserialize(reader);
}
这是 XML 文档
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfFolderPath xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FolderPath>
<Path>c:\FolderA</Path>
</FolderPath>
</ArrayOfFolderPath>
【问题讨论】:
-
添加, ",new XmlRootAttribute("FolderPath") 没有帮助
标签: c# xml xmlserializer