mi código intenta capturar datos de la fuente RSS de un sitio web. Captura los nodos bien, pero cuando intenta capturar los datos de un nodo con dos puntos, se bloquea y muestra el error "Namespace Manager o XsltContext needed. Esta consulta tiene un prefijo, variable o función definida por el usuario". El código se muestra a continuación:Cómo seleccionar nodos XML con espacios de nombres XML de un XmlDocument?
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 = "";
}
}
entiendo que necesito para definir el espacio de nombres, pero estoy seguro de cómo hacer esto. La ayuda sería apreciada
+1 Me golpearon a él - eso es exactamente correcto, es ** ** espacios de nombres XML - no * Etiquetas XML con dos puntos en su nombre * que estamos tratando aquí ... –
Funcionó perfectamente. Había escuchado sobre el comando AddNamespace pero estaba teniendo problemas para descifrar el segundo parámetro. – Sticky
@marc_s, ajustó el título. – Sticky