XML - Migración de datos XML-RSS basada en Wordpress mediante C#

 
Vista:

Migración de datos XML-RSS basada en Wordpress mediante C#

Publicado por Xiuhcoatl (1 intervención) el 21/02/2015 01:22:44
Quisiera hacer una migración de datos, es decir quiero recuperar información de un blog en wordpress que se esta subiendo a este mismo, sin embargo el Wordpress usa el protocolo RSS, entonces al momento de programarlo en C# los nodos me marcan error, lo que estoy haciendo es una aplicación de consola y esta debe de mostrar los datos primeramente para después enviarlos a la base de datos, quiero que como primera instancia "Los lea y muestre en consola" ya después ya los envío a la base de datos.

Mi código es este:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
try
{
XmlTextReader reader = new XmlTextReader("authors.xml");
System.Net.WebRequest myRequest = System.Net.WebRequest.Create("authors.xml");
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/wp:author/item");
System.Xml.XmlNode rssDetail;
//rssDetail = rssItems.Item(1).SelectSingleNode("title");
//if (rssDetail != null)
//{
//link = rssDetail.InnerText;
//}
//else if
//{
// link = "";
//}

while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: //Este nodo es un elemento.
Console.Write("<" + reader.Name);
Console.WriteLine(">");
break;
case XmlNodeType.Text: //Despliega el texto en cada elemento.
Console.WriteLine(reader.Value);
break;
case XmlNodeType.EndElement: //Despliega el final del elemento.
Console.Write("</" + reader.Name);
Console.WriteLine(">");
break;
}
}
Console.ReadLine();

}
catch (Exception ex)
{
throw ex;
}

}
}
}

Un poco del código de WP es el siguiente:

<wp:postmeta>
<wp:meta_key>geolocation_state_short</wp:meta_key>
<wp:meta_value><![CDATA[RI]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key>geolocation_state_long</wp:meta_key>
<wp:meta_value><![CDATA[Rhode Island]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key>geolocation_country_short</wp:meta_key>
<wp:meta_value><![CDATA[US]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key>geolocation_country_long</wp:meta_key>
<wp:meta_value><![CDATA[United States]]></wp:meta_value>
</wp:postmeta>

Cuando intento ejecutar el código anterior me dice que wp no esta definido y así... ¿alguna idea ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder