0

我正在将一些注册表信息写入 XML 文件。¬ 符号正在生成为 regkey 中字符串的值。当我写入 XML 时,当我尝试读回它时,我得到一个错误。有没有办法克服这个问题,我该如何继续?

读取时的错误是:

> System.InvalidOperationException was unhandled    
> Message="There is an error in XML document (235, 28)."

从文件中读取:

public diagnostics readregkey(diagnostics diagnostics, string filename)
{
    diagnostics dia = null;
    using (System.IO.StreamReader sr = 
        new System.IO.StreamReader(filename, Encoding.Unicode))
    {
        System.Xml.Serialization.XmlSerializer x = 
            new System.Xml.Serialization.XmlSerializer(typeof(diagnostics));
        dia = x.Deserialize(sr) as diagnostics;
    }
    return dia;
}

写入文件:

public static void  WriteRegKey(diagnostics diagnostics, string filename)
{
    diagnostic.regKeys.Add(key(Registry.LocalMachine, sKeyGravitas));
    diagnostic.regKeys.Add(key(Registry.CurrentUser, sKeyGravitas));
    using (System.IO.StreamWriter sw = 
        new System.IO.StreamWriter(filename,false, Encoding.Unicode))
    {
        System.Xml.Serialization.XmlSerializer x = 
            new System.Xml.Serialization.XmlSerializer(typeof(diagnostics));
        x.Serialize(sw, diagnostics);
    }
}
4

1 回答 1

4

您可以使用 WriteRaw 方法,该方法允许您手动写出原始标记。此方法可防止特殊字符被转义。

您可以在此处找到文档:http: //msdn.microsoft.com/en-us/library/4zhk8s1x%28v=vs.71%29.aspx

于 2012-03-09T10:05:23.093 回答