XML 文档(0, 0)中有错误
用下面的代码操作XML文件,
private void OpenConfigFile()
{
cf = new XMLConfigCSharp.Config();
XmlSerializer ser = new XmlSerializer(typeof(XMLConfigCSharp.Config));
if (File.Exists(appPath)) //若存在,读取,存入cf ,方便以后操作
{
FileStream fs = new FileStream(appPath, FileMode.Open);
cf = (XMLConfigCSharp.Config)ser.Deserialize(fs); //报错处
fs.Close();
}
else //
{
cf.UserName = "sa";
cf.UserPass = "111";
FileStream fs = new FileStream(appPath, FileMode.CreateNew);
TextWriter tw = new StreamWriter(fs, new UTF8Encoding());
ser.Serialize(tw, cf);
tw.Close();
fs.Close();
}
}
其中appPath=AppDomain.CurrentDomain.BaseDirectory.ToString() + "MyWinApp.exe.config";
XMLConfigCSharp.Config 是自己编写的类,中有UserName等属性.
第一次调用 OpenConfigFile() 后的MyWinApp.exe.config:
<?xml version="1.0" encoding="utf-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UserName>sa</UserName>
<UserPass>111</UserPass>
</Config>
但再运行时,就报错 "XML 文档(0, 0)中有错误",打开MyWinApp.exe.config文件,里面"未声明config元素"
写这么多是不知道问题出在哪里,希望大虾指教,这种配置文件的操作方法有问题吗?谢谢!