/ / c # xml-Sonderzeichencodierung - c #, asp.net, Zeichencodierung

c # xml Sonderzeichencodierung - c #, asp.net, Zeichencodierung

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 № 1

Ich 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.