我的代码试图从一个网站的RSS订阅中获取数据。它能够成功获取节点,但在尝试获取一个带冒号的节点的数据时会崩溃,并显示错误信息:"需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数。" 以下是代码:
WebRequest request = WebRequest.Create("http://buypoe.com/external.php?type=RSS2&lastpost=true");
WebResponse response = request.GetResponse();
StringBuilder sb = new StringBuilder("");
System.IO.StreamReader rssStream = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));
XmlDocument rssDoc = new XmlDocument();
rssDoc.Load(rssStream);
XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
for (int i = 0; i < 5; i++)
{
XmlNode rssDetail;
rssDetail = rssItems.Item(i).SelectSingleNode("dc:creator");
if (rssDetail != null)
{
user = rssDetail.InnerText;
}
else
{
user = "";
}
}
我明白需要定义命名空间,但不确定如何做。希望可以得到帮助。