Новое сообщение
Сообщения темы 'xml в ссылке иногда начинается с пустых строк! что делать?'
Фильтр:
содержит
Сортировка
|
| gliba 02.04.2011 12:12
Без паники. Пропускаем символы из потока пока не встретим < .
//открываем поток для чтения из Url с автоматической декомпрессией
private static Stream GetXmlStream(string sUrL) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sUrL); req.KeepAlive = true; req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; req.Headers = new WebHeaderCollection(); req.UserAgent = "My-Script";
WebResponse resp = req.GetResponse();
return resp.GetResponseStream(); } //считать все данные и вернуть как строку private static string GetXMLData(string sUrL) { using (Stream str = GetXmlStream(sUrL)) using (TextReader oreader = new StreamReader(str, Encoding.GetEncoding(1251), true)) { //xml иногда начинается с пустых строк!! int current = oreader.Peek();//взять текущий символ для анализа while (current != '<') { oreader.Read(); current = oreader.Peek(); } using (XmlTextReader rd = new XmlTextReader(oreader)) { rd.MoveToContent(); return rd.ReadOuterXml(); } } }
|
Наверх