C# XmlDocument.Load()=>;XmlException at";“百分比”;烧焦

C# XmlDocument.Load()=>;XmlException at";“百分比”;烧焦,c#,xml,compact-framework,C#,Xml,Compact Framework,当我尝试加载属性中包含“%”的xmlfile时,在“%”的位置会出现XmlException。参见标签“湿度”中的示例 <current_conditions> <condition data="Klar"/> <temp_f data="63"/> <temp_c data="17"/> <humidity data="Feuchtigkeit: 30 %"/> <icon data="/ig/images/

当我尝试加载属性中包含“%”的xmlfile时,在“%”的位置会出现XmlException。参见标签“湿度”中的示例

<current_conditions>
  <condition data="Klar"/>
  <temp_f data="63"/>
  <temp_c data="17"/>
  <humidity data="Feuchtigkeit: 30 %"/>
  <icon data="/ig/images/weather/sunny.gif"/>
  <wind_condition data="Wind: W mit 34 km/h"/>
</current_conditions>

这是一个编码问题。
您可以使用
WebClient
解决此问题,如下所示:

private void ParseXML(string url) {
    string xmlSource;
    using(WebClient wc = new WebClient())
        xmlSource = wc.DownloadString(url);

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlSource);
}

(已测试)

异常的文本是什么?异常是什么?(可能是“线索”)“给定编码中的无效字符。第1行,位置529。”URL已经在问题[xmlDoc]…不知道根本原因,但我确认XmlDocument和XDocument在发布的URL上都抛出相同的字符。除了在CF中不存在WebClient类这一事实。感谢您的提示。我正在使用WebRequest wc=HttpWebRequest.Create(url);现在。但我想知道是否有办法改变XmlDocument本身的编码?
private void ParseXML(string url) {
    string xmlSource;
    using(WebClient wc = new WebClient())
        xmlSource = wc.DownloadString(url);

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlSource);
}