2010-09-23 82 views
1

我做了以下内容:的XMLDocument,问题读节点

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 2010-09-23 13:42:40

+0

是的,我做到了,有趣的是它也得到了椭圆。但是,原始文档没有它们。我相信它与System.Net.WebRequest.Create,GetReponse或GetResponseStream有关。 – LilMoke 2010-09-23 14:25:37

回答

1

我怀疑你正在查看调试器中的字符串,并且可能会截断数据。 (或者你正在写入其他东西,截断文本。)

我非常怀疑这是一个XmlDocument问题。

我建议你日志InnerText某处,你知道你将能够获得完整的数据,所以你可以肯定地说。

+0

是的,我记录了InnerText,它也有椭圆。我相信这与其他事情有关,请参阅其他评论。 – LilMoke 2010-09-23 14:26:29

+0

@Tony:我建议你尝试下载文件为一个字符串(例如使用'WebClient.DownloadString')并在那里检查。你确定*它不仅仅是截断全身的RSS提要? – 2010-09-23 14:43:12

+0

其实我这样解决了这个问题: – LilMoke 2010-09-23 15:14:34