Ich möchte XML-Dokumente laden, aber es gibt spezielle Symbole wie: ąčęėįšųū
und ich bekomme einen Fehler Invalid character in the given encoding.
Die Frage ist, wie man diese Zeichen vor dem Laden von XML kodiert.
// load xml result from Google weather
XDocument xd = XDocument.Load("http://www.google.com/ig/api?weather=vilnius&hl=ru");
Antworten:
3 für die Antwort № 1Ich würde es versuchen
WebClient cln = new WebClient();
var str = cln.DownloadString("http://www.google.com/ig/api?weather=vilnius&hl=ru");
XDocument xDoc = XDocument.Load(new StringReader(str));
1 für die Antwort № 2
using (StreamReader sr = new StreamReader("http://www.google.com/ig/api?weather=vilnius&hl=ru", true))
{
XDocument xdoc = XDocument.Load(sr);
}
Das Problem liegt bei der Kodierung. Wenn Sie einen StreamReader verwenden, sollte er erkennen, in welcher Kodierung die Antwort enthalten ist, und Sie können dann XDocument.Load aufrufen.