<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>h@nz ...el Geek &#187; .Net FrameWork 3.5</title>
	<atom:link href="http://hanzcocchi.net/category/net-framework-35/feed/" rel="self" type="application/rss+xml" />
	<link>http://hanzcocchi.net</link>
	<description>.Net, Internet, Tecnología, algo personal.</description>
	<lastBuildDate>Wed, 23 Mar 2011 15:02:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Colección de revistas PlayBoy&#8230; en SilverLight</title>
		<link>http://hanzcocchi.net/coleccion-de-revistas-playboy-en-silverlight/</link>
		<comments>http://hanzcocchi.net/coleccion-de-revistas-playboy-en-silverlight/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 17:30:06 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=752</guid>
		<description><![CDATA[Microsoft Silverlight es un complemento para navegadores de Internet basado en la plataforma Windows que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones y de entorno de desarrollo; en forma similar a lo que hace Adobe Flash (Definición tomada de la Wikipedia). Pues ahora SilverLight vuelve a sorprender, depués de ser [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://silverlight.net/"><strong>Microsoft Silverlight</strong></a> es un complemento para navegadores de Internet basado en la plataforma Windows que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones y de entorno de desarrollo; en forma similar a lo que hace Adobe Flash <a href="http://es.wikipedia.org/wiki/Microsoft_Silverlight"><em>(Definición tomada de la Wikipedia)</em></a>.</p>
<p>Pues ahora SilverLight vuelve a sorprender, depués de ser utilizada como plataforma para la transmisión de la toma de mando de Barack Obama como nuevo presidente de los EEUU, y servir como plataforma para los juegos olímpicos, entre otros importantes proyectos web, ahora, resulta que se utiliza para poner a disposición de los internautas una colección de versiones pasadas de las revistas de PlayBoy.</p>
<p style="text-align: center;"><img src="http://gpna3w.blu.livefilestore.com/y1pt6-djajzWtL4Aeu_hZDfFhVDhrCbqQVas1SS_TinDlMgRax9m2s1Fnfu40bCPS8pTVdqOsqXg3GoOJ7Swu2jAQ/playboySilverLight.png" alt="Colección Playboy en SilverLight" /></p>
<p><span id="more-752"></span>Entiéndase que el objetivo de comentar esto es solo para demostrar algunas bondades de SilverLight y la difusión de su tecnología (si claro, je je)&#8230;</p>
<p>Hay que rescatar dos cosas de esto, la primera es que desde ya, si aún no lo haz hecho, debes empezar a incursionar en SIlverLight, ya que es definitivamente una tecnología con futuro y sobretodo con mucho presente. Lo segundo, es que por fin veré las revistas que me faltan en mi colección je je je.</p>
<p><strong>Enlace:</strong> <a href="http://playboy.covertocover.com/">Playboy</a></p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/coleccion-de-revistas-playboy-en-silverlight/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC 1.0 ya esta lista</title>
		<link>http://hanzcocchi.net/aspnet-mvc-10-ya-esta-lista/</link>
		<comments>http://hanzcocchi.net/aspnet-mvc-10-ya-esta-lista/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 23:26:23 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[ASP .Net]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=750</guid>
		<description><![CDATA[A partir del 17 de Marzo de 2009 esta lista para descargar la versión release del patrón MVC para ASP .Net. Hace un tiempo había comentado sobre este patrón y ahora que ya esta disponible, es bueno entender que no se trata de un cambio en la forma de programar en páginas ASP .Net, sino, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://gpna3w.blu.livefilestore.com/y1pCYjZy9RIGzgD5JDWQnhViftjx3Z3eJz5QVqlTt8i37CnJB5dUT4xnBzzSYVPvoyh0RU8vewYHw9bRrz3pbYaiRh0s5INdN5K/aspNetMVC10.png" alt="ASP .Net MVC 1.0" width="208" height="102" align="right" />A partir del 17 de Marzo de 2009 esta lista para descargar la versión release del patrón MVC para ASP .Net.</p>
<p>Hace un tiempo había <a href="http://hanzcocchi.net/patron-mvc-asp-net/">comentado sobre este patrón</a> y ahora que ya esta disponible, es bueno entender que no se trata de un cambio en la forma de programar en páginas ASP .Net, sino, por el contrario, una alternativa a lo actual, de manera que no hay que traumarse con este asunto.<span id="more-750"></span></p>
<p>Para ponerlo en práctica debes tener:</p>
<ul>
<li>Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP.</li>
<li>.NET 3.5 SP1</li>
<li>Visual Studio 2008, Visual Studio 2008 SP1 o Visual Web Developer 2008 SP1</li>
</ul>
<p>Ahora solo queda probar mas a fondo este patrón y analizar en futuros desarrollos cual se adecúa a nuestras necesidades.</p>
<p><strong>Enlace:</strong> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;displaylang=en">ASP.NET MVC 1.0</a></p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/aspnet-mvc-10-ya-esta-lista/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visual LINQ Query Builder</title>
		<link>http://hanzcocchi.net/visual-linq-query-builder/</link>
		<comments>http://hanzcocchi.net/visual-linq-query-builder/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:57:51 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[LinQ to SQL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=731</guid>
		<description><![CDATA[Este Add-in, es un complemento a Visual Studio 2008 que permite crear consultas LinQ de forma gráfica, similar, según se dice a como se hacía en el Microsoft Access Query Builder. Según la propia definición de Microsoft: El constructor visual de consultas de LINQ es un dispositivo suplementario al diseñador de Visual Studio 2008 que [...]]]></description>
			<content:encoded><![CDATA[<p>Este Add-in, es un complemento a Visual Studio 2008 que permite crear consultas LinQ de forma gráfica, similar, según se dice a como se hacía en el Microsoft Access Query Builder. Según la propia definición de Microsoft:</p>
<blockquote><p>El constructor visual de consultas de LINQ es un dispositivo suplementario al diseñador de <em><strong>Visual Studio 2008</strong></em> que le ayuda a usted a construir visualmente consultas LINQ to SQL. Proporciona funcionalmente la misma experiencia como, por ejemplo el constructor de consultas de Microsoft Access, pero en el dominio de LINQ. El UI entero de este add-in utiliza WPF. La meta de esta herramienta es ayudar a los usuarios a familiarizarse con la sintaxis de LINQ. La herramienta puede también demostrar a los usuarios cómo crear su propio Add-in de Visual Studio 2008 usando Windows Presentation Foundation.</p></blockquote>
<p>Habrá que probarlo, siempre recordando que lo mejor es comprender a fondo la tecnología que estamos usando para no usar de forma indiscriminada los componentes adicionales que la envuelven.</p>
<p><em><strong>URL:</strong></em> <a href="http://code.msdn.microsoft.com/vlinq">Visual LINQ Query Builder</a></p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/visual-linq-query-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sothink Quicker &#8211; Software para crear animaciones Silverlight</title>
		<link>http://hanzcocchi.net/sothink-quicker-software-para-crear-animaciones-silverlight/</link>
		<comments>http://hanzcocchi.net/sothink-quicker-software-para-crear-animaciones-silverlight/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 17:15:15 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=723</guid>
		<description><![CDATA[Sothink Quicker for Silverlight es el nombre de un software creado por la empresa Sourcetec Software que puede ser descargado de forma gratuita (también hay una versión de pago) y que permite raalizar animaciones sencillas con Silverlight sin que el usuario sepa programar. Sin duda, es una buena alternativa para la rápida creación de banners, [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Sothink Quicker for Silverlight</strong></em> es el nombre de un software creado por la empresa <a href="http://www.sothink.com">Sourcetec Software</a> que puede ser descargado de forma gratuita (también hay una versión de pago) y que permite raalizar animaciones sencillas con Silverlight sin que el usuario sepa programar.</p>
<p style="text-align: center;"><img src="http://gpna3w.blu.livefilestore.com/y1pw6FYNzy0EtQY-wzNtFxVUMjR3HYclhRTvhFJE0SsA0h3-ynoTt71tiqBXwTSy3z5UMI7SED8DTehGcWuMNG1AQ/SothinkQuicker.jpg" alt="Sothink Quicker for Silverlight" width="515" height="435" /></p>
<p><span id="more-723"></span>Sin duda, es una buena alternativa para la rápida creación de banners, y presentaciones sin la necesidad de entrar a un curso de capacitación en Silverlight, aunque claro, siempre es recomendable conocerle las entrañas a la tecnología que utilizamos.</p>
<p><strong>URL:</strong> <a href="http://www.sothink.com/product/animation-maker-for-silverlight/index.htm">Sothink Quicker for Silverlight</a></p>
<p><strong>Fuente:</strong> <a href="http://www.jasoft.org/blog/PermaLink,guid,c2b5ff59-a040-4b03-b2eb-2ce5a6de4b57.aspx">JASoft.org &#8211; Software gratuito para crear animaciones Silverlight</a></p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/sothink-quicker-software-para-crear-animaciones-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS Chart Controls &#8211; Gráficos para aplicaciones ASP .Net</title>
		<link>http://hanzcocchi.net/ms-chart-controls-graficos-para-aplicaciones-asp-net/</link>
		<comments>http://hanzcocchi.net/ms-chart-controls-graficos-para-aplicaciones-asp-net/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 23:49:53 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[ASP .Net]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=712</guid>
		<description><![CDATA[Me había olvidado de comentar algo que es en verdad importante. Microsoft ha adquirido la tecnología Dundas Chart, gracias a ello se han desarrollado los nuevos controles de servidor Microsoft Chart Controls, los cuales permiten crear gráficos bastante profesionales para aplicaciones ASP .Net. Estos controles son de libre distribución y requieren de Visual Studio 2008 con [...]]]></description>
			<content:encoded><![CDATA[<p>Me había olvidado de comentar algo que es en verdad importante. Microsoft ha adquirido la tecnología <a href="http://www.dundas.com/">Dundas Chart</a>, gracias a ello se han desarrollado los nuevos controles de servidor <em><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;DisplayLang=en">Microsoft Chart Controls</a></em>, los cuales permiten crear gráficos bastante profesionales para aplicaciones ASP .Net.</p>
<p style="text-align: center;"><img src="http://gpna3w.blu.livefilestore.com/y1por4vWRFVtXVnMpPmj1lVHHQf9jl-PNkZdvUGn-Hdk_0aSKB4jwdanMJph0mefpAWSjQz6dH13nBrbHdJUPlxqA/NetChart.png" alt="" width="520" height="339" /></p>
<p><span id="more-712"></span>Estos controles son de libre distribución y requieren de Visual Studio 2008 con el .Net framework 3.5 SP 1 para poder ejecutarse. Ya tenemos una razón mas para evolucionar. Aunque a mi en lo personal, no me han tocado hacer gráficos de este tipo, si me ha pasado que debía hacer gráficos de barra, y aunque los hacía de forma &#8220;rudimentaria&#8221; servían, pero ahora es obvio que se debe optar por controles mas profesionales.</p>
<p>Les dejo unos enlaces para que se pongan al tanto sobre dichos controles, mas adelante tendré oportunidad de probarlos y postear sobre ellos.</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;DisplayLang=en" target="_blank">Download the free Microsoft Chart Controls</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en" target="_blank">Download the VS 2008 Tool Support for the Chart Controls</a></li>
<li><a href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591" target="_blank">Download the Microsoft Chart Controls Samples</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en" target="_blank">Download the Microsoft Chart Controls Documentation</a></li>
<li><a href="http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/threads/" target="_blank">Visit the Microsoft Chart Control Forum</a></li>
</ul>
<p>Espero que les sea de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/ms-chart-controls-graficos-para-aplicaciones-asp-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plugin para Twitter en Silverlight y C#</title>
		<link>http://hanzcocchi.net/plugin-para-twitter-en-silverlight-y-c/</link>
		<comments>http://hanzcocchi.net/plugin-para-twitter-en-silverlight-y-c/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 17:50:03 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=711</guid>
		<description><![CDATA[Ya que Twitter está de moda y parece que se queda por un buen rato, Eugenio Estrada ha creado un plugin para Twitter en Silverligth desarrollado con C# y lo que es mejor, lo ha publicado para su libre descarga desde CodePlex. Interesante no? Todo lo que sea compartir con la comunidad, es bueno&#8230; aunque [...]]]></description>
			<content:encoded><![CDATA[<p>Ya que <a href="http://hanzcocchi.net/cai-en-la-tentacion-del-twitter/">Twitter está de moda</a> y parece que se queda por un buen rato, <a href="http://geeks.ms/blogs/eecsaky/archive/2008/12/06/twitter-gadgetblog-en-codeplex.aspx">Eugenio Estrada</a> ha creado un plugin para <em>Twitter</em> en <strong>Silverligth</strong> desarrollado con <em>C#</em> y lo que es mejor, lo ha publicado para su libre descarga desde <a href="http://www.codeplex.com">CodePlex</a>.</p>
<p>Interesante no? Todo lo que sea compartir con la comunidad, es bueno&#8230; aunque sea algo para enviciarnos aún mas <img src='http://hanzcocchi.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Saludos.</p>
<p><strong>URL:</strong> <a href="http://www.codeplex.com/twitterblog">http://www.codeplex.com/twitterblog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/plugin-para-twitter-en-silverlight-y-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LinQ para Oracle, para MySQL y para SharePoint</title>
		<link>http://hanzcocchi.net/linq-para-oracle-para-mysql-y-para-sharepoint/</link>
		<comments>http://hanzcocchi.net/linq-para-oracle-para-mysql-y-para-sharepoint/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 23:31:43 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[LinQ to SQL]]></category>
		<category><![CDATA[LinQ to XML]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=688</guid>
		<description><![CDATA[A veces me pongo a pensar que el día tiene muy pocas horas, y que tenemos tan poco tiempo para disponer y tantas cosas que aprender durante el transcurso de nuestras vidas que pues&#8230;. después de un rato entiendes que solo nos queda avanzar como la tortuga: &#8220;lento pero seguro&#8221;. LinQ, una de las mas [...]]]></description>
			<content:encoded><![CDATA[<p>A veces me pongo a pensar que el día tiene muy pocas horas, y que tenemos tan poco tiempo para disponer y tantas cosas que aprender durante el transcurso de nuestras vidas que pues&#8230;. después de un rato entiendes que solo nos queda avanzar como la tortuga: &#8220;lento pero seguro&#8221;.</p>
<p><a href="http://msdn.microsoft.com/es-es/library/bb397926.aspx">LinQ</a>, una de las mas recientes tecnologías que <a href="http://www.microsoft.com">Microsoft</a> ha puesto a disposición de los desarrolladores tiene avances bastantes significativos, y es que además de los ya conocidos:</p>
<ul>
<li><a href="http://msdn.microsoft.com/es-es/library/bb397919.aspx">LinQ to Objects</a></li>
<li><a href="http://msdn.microsoft.com/es-es/library/bb397942.aspx">LinQ to ADO .Net</a>
<ul>
<li><a href="http://msdn.microsoft.com/es-es/library/bb386977.aspx">LinQ to DataSet</a></li>
<li><a href="http://msdn.microsoft.com/es-es/library/bb386976.aspx">LinQ to SQL</a></li>
<li><a href="http://msdn.microsoft.com/es-es/library/bb386964.aspx">LinQ to Entities</a></li>
</ul>
</li>
<li><a href="http://msdn.microsoft.com/es-es/library/bb387098.aspx">LinQ to XML</a></li>
</ul>
<p>Ahora se suman a esta familia, <span id="more-688"></span>los nuevos:</p>
<ul>
<li><a href="http://www.download3k.com/Press-LINQ-to-MySQL-and-LINQ-to-Oracle-Support.html">LinQ to Oracle</a></li>
<li><a href="http://www.download3k.com/Press-LINQ-to-MySQL-and-LINQ-to-Oracle-Support.html">LinQ to MySQL</a></li>
<li><a href="http://geeks.ms/blogs/ciin/archive/2008/10/10/linq-to-sharepoint-o-linq4sp-disponible-la-rc1.aspx">LinQ to Sharepoint</a></li>
</ul>
<p><img src="http://farm3.static.flickr.com/2101/2038977431_7072df3bea_m.jpg" alt="Sheldon, el sabelotodos de &quot;The Big Bang Theory&quot;" width="160" height="240" align="right" /><strong>Que significa esto?</strong> pues simplemente significa que LinQ (como tecnología de acceso a datos para integrar el lenguaje de programación de la aplicación con el lenguaje de programación de la Base de datos) ha tenido la aceptación necesaria como para ir consolidándose entre los desarrolladores.</p>
<p>Y claro, nunca faltan las aplicaciones que uno desarrolla pero que por ejemplo requiere obtener datos desde una fuente de datos diferente, desde una Base de Datos MySQL por ejemplo; entonces si tengo un proyecto hecho con el <a href="http://msdn.microsoft.com/es-es/library/w0x726c2.aspx">.Net Framework 3.5</a> y <em><strong>LinQ</strong></em> y ya estoy con toda la emoción encima y luego debo dejar de usar LinQ para poder extraer los datos&#8230; pues como que no nos cae bien el escenario no?</p>
<p>Y yo me pregunto, en que momento de mi muy humilde vida desarrollando Software &#8220;jugaré&#8221; con esto? Pues calma, paciencia y buen humor&#8230; no existe persona que lo sepa todo, a menos que seas <em><strong>Sheldon</strong></em>.</p>
<p>Saludos.</p>
<p><strong>Fuente:</strong> <a href="http://geeks.ms/blogs/ciin/default.aspx">Blog del CIIN</a> &#8211; <a href="http://geeks.ms/blogs/ciin/archive/2008/10/04/linq-to-oracle-y-linq-to-mysql.aspx">LinQ to Oracle y LinQ to MySQL</a> &#8211; <a href="http://geeks.ms/blogs/ciin/archive/2008/10/10/linq-to-sharepoint-o-linq4sp-disponible-la-rc1.aspx">LinQ to Sharepoint o LINQ4SP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/linq-para-oracle-para-mysql-y-para-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo de lectura de datos con LinQ to XML</title>
		<link>http://hanzcocchi.net/ejemplo-de-lectura-de-datos-xml-con-linq-to-xml/</link>
		<comments>http://hanzcocchi.net/ejemplo-de-lectura-de-datos-xml-con-linq-to-xml/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:09:50 +0000</pubDate>
		<dc:creator>h@nz</dc:creator>
				<category><![CDATA[.Net FrameWork 3.5]]></category>
		<category><![CDATA[LinQ to XML]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://hanzcocchi.net/?p=648</guid>
		<description><![CDATA[Dentro de las nuevas tecnologías aparecidas con el .Net Framework 3.5, LinQ es una de las buenas propuestas para el trabajo tanto con objetos, como con Base de Datos y con XML. Hace poco les comentaba que en el proceso de creación de mi propio blog utilicé LinQ to XML para la extracción de los [...]]]></description>
			<content:encoded><![CDATA[<p>Dentro de las nuevas tecnologías aparecidas con el <a href="http://msdn.microsoft.com/es-es/library/aa139616.aspx">.Net Framework 3.5</a>, <a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx">LinQ</a> es una de las buenas propuestas para el trabajo tanto con objetos, como con Base de Datos y con <a href="http://es.wikipedia.org/wiki/XML">XML</a>. <a href="http://hanzcocchi.net/creando-un-blog-v/">Hace poco les comentaba que en el proceso de creación de mi propio blog</a> utilicé <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.aspx">LinQ to XML</a> para la extracción de los datos exportados desde <a href="http://www.wordpress.org">WordPress</a>, hasta la base de datos que yo he diseñado. Sobre esa parte, haré el siguiente ejemplo.</p>
<p>Para empezar, se debe tener en cuenta que utilizaré un modelo del archivo de exportación de datos que usa WordPress. Y que mas o menos se ve como en el siguiente gráfico:</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-649" title="Ejemplo Archivo XML exportado de WordPress" src="http://hanzcocchi.net/wp-content/uploads/ejemploarchivoxml.png" alt="Ejemplo Archivo XML exportado de WordPress" width="499" height="606" /></p>
<p><span id="more-648"></span>Entre las líneas 2 y 7 se definen los namespaces que se utilizarán en las etiquetas del resto del archivo. Un <em>Namespace XML</em> es una colección de nombres, identificados por un <a href="http://es.wikipedia.org/wiki/Uniform_Resource_Identifier">URI</a>, que se utiliza para identificar los diferentes elementos y atributos en los documentos XML. Pues bien, el archivo que exporta WordPress contiene 4 namespaces de XML:</p>
<ul>
<li><em><strong>xmlns:content</strong></em> Para el contenido de cada artículo.</li>
<li><em><strong>xmlns:wfw</strong></em> Que no sé para que lo utiliza.</li>
<li><em><strong>xmlns:dc</strong></em> Para el nombre del autor de cada artículo.</li>
<li><em><strong>xmlns:wp</strong></em> Para todo lo demás, bueno, casi todo.</li>
</ul>
<p>De manera que cuando yo quiera acceder a algún elemento del archivo XML lo debo hacer mediante el namespace y el nombre del elemento (esto no es obligatorio en otros casos, pero en este ejemplo si lo es). Para empezar, como pueden ver en la siguiente imágen, el método que hace todo el trabajo se llama <strong>RecuperarArticulos</strong> (bien original no?) y devuelve una lista <span style="color: #59c8c4;">IEnumerable</span> de objetos <strong>Articulo</strong> (que contiene las propiedades de cada item como: nombre de autor, contenido, fecha de publicacion, etc.) y que recibe como único parámetro la ruta en la que se encuentra el archivo XML.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-650" title="Declaración de los Namespaces XML en C#" src="http://hanzcocchi.net/wp-content/uploads/namespaces.png" alt="Declaración de los Namespaces XML en C#" width="500" height="125" /></p>
<p>Ahora, para cargar el documento XML solo debo instanciar un objeto del tipo <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.xdocument.aspx">XDocument</a> (que representa al documento XML) utilizando su método estático Load con la ruta del archivo. Esto cargará el documento XML en memoria y lo tendrá listo para acceder a sus elementos.</p>
<p>A continuación se definen los Namespaces con el objeto XNamespace indicándole el URI correspondiente (estos URI son tomados del archivo de WordPress), en este caso solo utilizaré 3 namespaces de los que nombre arriba ya que uno de ellos no se utiliza en el archivo, al menos no en los que yo obtuve. A continuación viene la parte fácil, recuperar los datos; previamente hay que comentar que yo he creado una clase <strong>Categoria</strong> que contiene dos propiedades: nombre y url; luego tengo una clase <strong>Articulo</strong> que entre otras tiene una propiedad <em>Categorias</em>, la cual es una lista <span style="color: #59c8c4;">IEnumerable</span> de objetos <em>Categoria</em>. A continuación, en la imágen se muestra lo sencillo que puede ser el proceso de recuperación.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-651" title="Recuperar los elementos XML desde el archivo" src="http://hanzcocchi.net/wp-content/uploads/recuperandoelementosxml.png" alt="Recuperar los elementos XML desde el archivo" width="500" height="186" /></p>
<p>Cada articulo esta contenido dentro de una etiqueta <strong>&#8220;item&#8221;</strong>, de manera que extraeré los elementos con el método <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.xdocument.descendants.aspx">Descendants</a> del objeto <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.xdocument.aspx">XDocument</a> instanciado y le indicaré que por cada elemento se debe crear un nuevo objeto <strong>Articulo</strong> con la instrucción <strong><span style="color: #0000ff;">select new</span> <span style="color: #33cccc;">Articulo</span></strong>. Dentro de las llaves se deben colocar las propiedades del objeto <strong>Articulo</strong> y llenar cada una de ellas utilizando para ello el método <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.xcontainer.element.aspx">Element</a> del objeto item, que como ya comentamos representa a cada elemento &#8220;item&#8221; del documento XML cargado. Como ya dije, WordPress utiliza Namespaces para la definición de sus elementos, de manera que al cargar un elemento se debe anteponer el objeto <a href="http://msdn.microsoft.com/es-es/library/system.xml.linq.xnamespace.aspx">XNamespace</a> correspondiente, por ejemplo: <strong>Autor = item.Element(dc + <span style="color: #993300;">&#8220;creator&#8221;</span>).Value</strong>, donde dc es el XNamespace.</p>
<p>Para recuperar la lista de categorias que se encuentra dentro de cada elemento &#8220;item&#8221; se debe realizar un proceso similar al de la parte inicial haciendo uso de la instrucción <span style="color: #0000ff;">from</span> para recuperar nuevamente la lista de elementos. Nótese que esta vez estoy creando una nueva colección de Categorias.</p>
<p>Como se puede observar, este proceso no es nada complicado con <strong>LinQ to XML</strong> y resulta bastante rápido por cierto, de manera que es una excelente alternativa (al menos hasta aqui) para utilizar en los proyectos.</p>
<p>Les dejo el archivo para descargar incluyendo un archivo llamado <strong>Modelo.xml</strong> que contiene un ejemplo de archivo descargado de WordPress para que lo puedan probar.</p>
<p style="text-align: right;"><a href="http://cid-74bbd3caaf789965.skydrive.live.com/self.aspx/Public/EjemploLinQtoXML.zip"><strong>Descargar el ejemplo de LinQ to XML</strong></a></p>
<p>Básicamente este es el progrma que he diseñado para importar los posts que tengo en este blog hasta mi base de datos, aclaro que en este ejemplo no incluyo los Stored Procedures necesarios para agregarlos a la Base de Datos ni la implementación de los métodos en las clases correspondientes ni las clases ya que, esos son otros temas que no forman parte de este ejemplo, sin embargo, cuando todo este proceso llegue a su fin, dejaré todo el código a libre disposición.</p>
<p>Espero que les sea de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://hanzcocchi.net/ejemplo-de-lectura-de-datos-xml-con-linq-to-xml/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

