【发布时间】:2012-08-07 14:15:38
【问题描述】:
目前我有以下代码:
XmlDocument xDoc = new XmlDocument();
xDoc.Load("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=twitter");
XmlNodeList tweets = xDoc.GetElementsByTagName("text");
foreach (int i in tweets)
{
if (tweets[i].InnerText.Length > 0)
{
MessageBox.Show(tweets[i].InnerText);
}
}
这不起作用,它在 foreach 行上给了我System.InvalidCastException。
以下代码完美运行(没有 foreach,i 被零替换):
XmlDocument xDoc = new XmlDocument();
xDoc.Load("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=twitter");
XmlNodeList tweets = xDoc.GetElementsByTagName("text");
if (tweets[0].InnerText.Length > 0)
{
MessageBox.Show(tweets[0].InnerText);
}
【问题讨论】:
-
tweets不是一个整数序列——它是一个节点序列......那么你为什么期望能够用foreach (int i in ...迭代它?
标签: c# foreach xmldocument