Al responder this question, me encontré con una situación que no entiendo. El PO estaba tratando de cargar XML de la siguiente ubicación: http://www.google.com/ig/api?weather=12414&hl=itXmlDocument.Load falla, LoadXml funciona:
La solución obvia es:
string m_strFilePath = "http://www.google.com/ig/api?weather=12414&hl=it";
XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load(m_strFilePath); //Load NOT LoadXml
Sin embargo esto no funciona con
XmlException: Carácter no válido en la codificación dada. Línea 1, posición 499.
Parece que se asfixia en el à
de Umidità
.
otoh, las siguientes obras excelentes:
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);
estoy desconcertado por esto. ¿Alguien puede explicar por qué la primera falla, pero la última funciona bien?
Cabe destacar que la declaración xml del documento omite una codificación.
¿Es posible que WebClient htmlencodes? – Nicolai