この質問に答えてみると、わからない状況に出くわしました。OPは次の場所からXMLを読み込もうとしていました:http ://www.google.com/ig/api?weather = 12414&hl = it
明らかな解決策は次のとおりです。
string m_strFilePath = "http://www.google.com/ig/api?weather=12414&hl=it";
XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load(m_strFilePath); //Load NOT LoadXml
しかし、これは失敗します
XmlException:指定されたエンコーディングの文字が無効です。行1、位置499。
の窒息のようà
ですUmidità
。
OTOH、以下は正常に動作します。
var m_strFilePath = "http://www.google.com/ig/api?weather=12414&hl=it";
string xmlStr;
using(var wc = new WebClient())
{
xmlStr = wc.DownloadString(m_strFilePath);
}
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
私はこれに困惑しています。前者が失敗する理由を誰かが説明できますが、後者はうまく機能しますか?
特に、ドキュメントのxml宣言ではエンコーディングが省略されています。