小编Sti*_*cky的帖子

如何从XmlDocument中使用XML命名空间选择XML节点?

我的代码试图从网站的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 = "";
   }
}
Run Code Online (Sandbox Code Playgroud)

我知道我需要定义命名空间,但我不确定如何做到这一点.帮助将不胜感激.

c# xml xmldocument xml-namespaces

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×1

xml ×1

xml-namespaces ×1

xmldocument ×1