2010-09-23 1 views
1

я делаю следующее:XMLDocument, проблема чтения Node

System.Net.WebRequest myRequest = System.Net.WebRequest.Create("http://www.atlantawithkid.com/feed/"); 
System.Net.WebResponse myResponse = myRequest.GetResponse(); 

System.IO.Stream rssStream = myResponse.GetResponseStream(); 
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument(); 
rssDoc.Load(rssStream); 

System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item"); 
System.Xml.XmlNode rssDetail; 

// FEED DESCRIPTION 

string sRssDescription; 
rssDetail = rssItems.Item(0).SelectSingleNode("description"); 
if (rssDetail != null) 
    sRssDescription = rssDetail.InnerText; 

Но, когда я прочитал «описание» узел и просмотреть InnerText, или InnerXml, строка отличается от исходного документа XML ,

Возврат строки имеет и эллипсы, а данные si усечены. Однако в исходном документе XML есть данные, которые я вижу.

Есть ли способ выбрать этот узел без изменения данных?

Спасибо за помощь.

+0

Звучит очень странно. Вместо потоковой передачи в XmlDocument вы можете вместо этого передать данные в текстовый файл и подтвердить, что данные не усечены? – code4life

+0

Да, я сделал именно это, и интересная вещь - это получить эллипсы. НО, у исходного документа их нет. Я считаю, что это связано с System.Net.WebRequest.Create, GetReponse или GetResponseStream. – LilMoke

ответ

1

Я подозреваю, что вы смотрите на строку в отладчике, и это может быть усечение данных. (Или вы пишете его во что-то другое, которое усекает текст.)

Я очень сомневаюсь, что это проблема XmlDocument.

Я предлагаю вам logInnerText где-то, что вы знаете, что сможете получить полный объем данных, чтобы вы могли точно сказать.

+0

Да, я записал InnerText, и он также имеет эллипсы. Я считаю, что это связано с чем-то другим, см. Другие комментарии. – LilMoke

+0

@Tony: Я предлагаю вам попробовать загрузить документ в виде строки (например, с помощью 'WebClient.DownloadString') и проверить там. Вы уверены, что это не только RSS-канал, усекающий весь организм? –

+0

На самом деле, я решил проблему таким образом: – LilMoke