Lectura remota de un fichero XML
Post cruzado de: blog en 3devnet.com
Leer un archivo remotamente ya no es cosa dificil en estos tiempos, pos para demostrar esto aquí les va un ejemplo donde precisamente leemos remotamente un documento XML localizado aquí , pues bien... sin más rodeos vayamos a explicar el ejemplo y parte del código en C# 2.0.
Algo que debo resaltar es que tán sólo se leerá las etiquetas como tales más no el contenido de este, teniendo claro esto, la lectura del documento XML imprimirá solamente las eqiquetas que estructuran el documento. Pudo tambien leerse tanto etiquetas como contenido de dicho XML, pero este post se orienta a explicar que si es posible realizar la lectura remota de dicho documento, el resto de curiosidades queda como tarea para su persona.
Bueno, ahora si, esto es el código:
using System;
using System.Xml;
using System.IO;
namespace AppLeerXmlDocumentRemote
{
class Program
{
static void Main(string[] args)
{// en esta parte le indicamos al lector xml
//que debe accesar aun fichero xml remoto
XmlTextReader reader = new
XmlTextReader("http://www.geocities.com/perxindrome/productos.xml");
//ahora necesitamos de un escritor de cadena
StringWriter sw= new StringWriter();
//la variable nTab servirá para establecer
//los márgenes de cada uno de los nodos XML
string nTab=" ";
//empezamos con la lectura.
while(reader.Read()){
if (reader.NodeType == XmlNodeType.Element)
{
nTab = new String('\t', reader.Depth);
sw.WriteLine("{0}<{1}>", nTab, reader.Name);
}
else
{
if (reader.NodeType == XmlNodeType.EndElement)
{
nTab = new String('\t', reader.Depth);
sw.WriteLine("{0}</{1}>", nTab, reader.Name);
}
}
}
//vaciamos lo guardado en el buffer del escritor
string buf = sw.ToString();
sw.Close();
reader.Close();
//imprimos en la salida windows.
Console.Write(buf);
Console.ReadLine();
}
}
}
Espero que lo explicado dentro del código sea suficiente para que usted haya podido sacarle provecho a este post.
Percy Reyes.