<?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>Alex Medina</title>
	<atom:link href="http://www.alexmedina.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexmedina.net/blog</link>
	<description>Porque todos los días se aprende algo nuevo...</description>
	<lastBuildDate>Thu, 12 Apr 2012 09:52:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Evitar listado de archivos en un directorio del servidor Apache</title>
		<link>http://www.alexmedina.net/blog/2012/04/12/evitar-listado-de-archivos-en-un-directorio-del-servidor-apache/</link>
		<comments>http://www.alexmedina.net/blog/2012/04/12/evitar-listado-de-archivos-en-un-directorio-del-servidor-apache/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 09:52:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htacces]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=320</guid>
		<description><![CDATA[Si nuestro sitio está alojado en un servidor Apache la forma más práctica y fácil es agregar la siguiente línea en un .htaccess localizado en el directorio raíz: Options -Indexes]]></description>
			<content:encoded><![CDATA[<p>Si nuestro sitio está alojado en un <strong>servidor Apache</strong> la forma más práctica y fácil es agregar la siguiente línea en un <strong>.htaccess</strong> localizado en el directorio raíz:</p>
<div>
<pre>Options -Indexes</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2012/04/12/evitar-listado-de-archivos-en-un-directorio-del-servidor-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirigir un formulario con Contact Form 7 de WordPress</title>
		<link>http://www.alexmedina.net/blog/2012/04/02/redirigir-un-formulario-con-contact-form-7-de-wordpress/</link>
		<comments>http://www.alexmedina.net/blog/2012/04/02/redirigir-un-formulario-con-contact-form-7-de-wordpress/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 16:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=318</guid>
		<description><![CDATA[En ocasiones se nos plantea que en vez de dar el visto bueno con un mensaje, tengamos que redirigir un formulario con Contact Form 7 de WordPress a otra página de gracias. Muy fácil, en ‘Additional Settings’  incluir: on_sent_ok: "location = 'http://www.example.com/thank-you/';"]]></description>
			<content:encoded><![CDATA[<p>En ocasiones se nos plantea que en vez de dar el visto bueno con un mensaje, tengamos que redirigir un formulario con Contact Form 7 de WordPress a otra página de gracias.</p>
<p>Muy fácil, en ‘Additional Settings’  incluir:</p>
<p><code>on_sent_ok: "location = 'http://www.example.com/thank-you/';"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2012/04/02/redirigir-un-formulario-con-contact-form-7-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recoger parámetros de un programa por consola</title>
		<link>http://www.alexmedina.net/blog/2011/12/22/recoger-parametros-de-un-programa-por-consola/</link>
		<comments>http://www.alexmedina.net/blog/2011/12/22/recoger-parametros-de-un-programa-por-consola/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 09:40:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[parametros]]></category>
		<category><![CDATA[programa]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=314</guid>
		<description><![CDATA[Para obtener los parámetros que se le pasan por consola a un programa se puede utilizar este código, por ejemplo en la consola pondríamos: &#160; &#62;Programa.exe argumento1 var x = Environment.GetCommandLineArgs(); if (x.Length &#62; 0) { // x[0] es el nombre del programa -&#62; resultado : Programa.exe Console.WriteLine(x[1]); // -&#62; resultado: argumento1 }]]></description>
			<content:encoded><![CDATA[<pre></pre>
<p>Para obtener los parámetros que se le pasan por consola a un programa se puede utilizar este código, por ejemplo en la consola pondríamos:</p>
<p>&nbsp;</p>
<pre><strong>&gt;Programa.exe argumento1</strong></pre>
<pre><strong>
</strong></pre>
<pre><span style="color: #339966;">var x = Environment.GetCommandLineArgs();</span>
<span style="color: #339966;">if (x.Length &gt; 0)</span>
<span style="color: #339966;">{</span>
<span style="color: #339966;"> // x[0] es el nombre del programa -&gt; resultado : Programa.exe</span>
<span style="color: #339966;"> Console.WriteLine(x[1]); // -&gt; resultado: argumento1</span>
<span style="color: #339966;">}</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/12/22/recoger-parametros-de-un-programa-por-consola/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redireccionar con .htaccess de sin www a con www en un sitio</title>
		<link>http://www.alexmedina.net/blog/2011/11/22/redireccionar-con-htaccess-de-sin-www-a-con-www-en-un-sitio/</link>
		<comments>http://www.alexmedina.net/blog/2011/11/22/redireccionar-con-htaccess-de-sin-www-a-con-www-en-un-sitio/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 13:41:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htacces]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[redireccion]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=312</guid>
		<description><![CDATA[Para redireccionar la URL de un sitio desde sin www a www se debera insertar las siguientes líneas en nuestro archivo .htaccess RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.midominio.com$ [NC] RewriteRule ^(.*)$ http://www.midominio.com/$1 [L,R=301] De esta forma cuando ingresemos a midominio.com automáticamente se redireccionará a www.midominio.com]]></description>
			<content:encoded><![CDATA[<p>Para redireccionar la URL de un sitio desde <strong>sin <a href="http://blog.undermedia.com.ec/index.php/redireccionar-con-htaccess-de-sin-www-a-www-en-mi-sitio/" target="_blank">www</a></strong> a <strong><a href="http://blog.undermedia.com.ec/index.php/redireccionar-con-htaccess-de-sin-www-a-www-en-mi-sitio/" target="_blank">www</a></strong> se debera insertar las siguientes líneas en nuestro archivo .htaccess</p>
<pre>
<span style="color: #339966;">RewriteEngine On</span>
<span style="color: #339966;">RewriteBase /</span>
<span style="color: #339966;">RewriteCond %{HTTP_HOST} !^www.midominio.com$ [NC]</span>
<span style="color: #339966;">RewriteRule ^(.*)$ http://www.midominio.com/$1 [L,R=301]</span></pre>
<p>De esta forma cuando ingresemos a midominio.com automáticamente se redireccionará a <a href="http://blog.undermedia.com.ec/index.php/redireccionar-con-htaccess-de-sin-www-a-www-en-mi-sitio/" target="_blank">www</a>.midominio.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/11/22/redireccionar-con-htaccess-de-sin-www-a-con-www-en-un-sitio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatear miles en php</title>
		<link>http://www.alexmedina.net/blog/2011/11/18/formatear-miles-en-php/</link>
		<comments>http://www.alexmedina.net/blog/2011/11/18/formatear-miles-en-php/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 16:13:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[formatear]]></category>
		<category><![CDATA[miles]]></category>
		<category><![CDATA[puntos]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=310</guid>
		<description><![CDATA[Muy fácil, con la función number_format: http://php.net/manual/es/function.number-format.php echo number_format(123456789, 0, '', '.');   // Imprime 123.456.789]]></description>
			<content:encoded><![CDATA[<p>Muy fácil, con la función number_format: <a href="http://php.net/manual/es/function.number-format.php">http://php.net/manual/es/function.number-format.php</a></p>
<pre>
<span style="color: #339966;">echo number_format(123456789, 0, '', '.');  </span></pre>
<pre><span style="color: #339966;">// Imprime 123.456.789</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/11/18/formatear-miles-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar puerto apache server</title>
		<link>http://www.alexmedina.net/blog/2011/11/15/cambiar-puerto-apache-server/</link>
		<comments>http://www.alexmedina.net/blog/2011/11/15/cambiar-puerto-apache-server/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 07:50:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[puerto]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=307</guid>
		<description><![CDATA[Algunas veces cuando trabajamos con aplicaciones Web , pueden ser ASP ó PHP y como ya sabemos cada una de ellas trabaja con un servidor el cual usa un puerto específico en la máquina donde esté instalado. Resulta que por lo general estos servidores usan el puerto 80, pero si ya tenemos instalado uno de [...]]]></description>
			<content:encoded><![CDATA[<p>Algunas veces cuando trabajamos con aplicaciones Web , pueden ser ASP ó PHP y como ya sabemos cada una de ellas trabaja con un servidor el cual usa un puerto específico en la máquina donde esté instalado.</p>
<p>Resulta que por lo general estos servidores usan el puerto 80, pero si ya tenemos instalado uno de estos servidores, de seguro ya estará usando ese puerto y el nuevo servidor que queramos instalar no podrá iniciar su servicio.</p>
<div>Pues bien, a mi me pasó con Apache, la máquina donde tengo que instalar la aplicación ya tiene instalado el IIS (Internet Information Server) para otra aplicación que esta desarrolada en asp.net. Pues bien, esta aplicación debe estar en línea siempre y no puedo detener el IIS para instalar mi Apache, la solución es instalar ambos servidores en la misma máquina.</div>
<p>Instalamos Apache, y en el archivo httpd.conf cambiamos las siguientes líneas:</p>
<p><strong>Listen 80</strong></p>
<p>cambiamos esta línea de tal forma que quede así:</p>
<p><strong>Listen 81</strong></p>
<p>bien puede ser 81 u otro puerto que no esté uso.</p>
<p>La otra línea a modificar es:</p>
<p><strong>ServerName localhost:80</strong></p>
<p>de tal forma que quede</p>
<p><strong>ServerName localhost:81</strong></p>
<p>y de igual manera, puede ser 81 u otro puerto que no esté en uso.</p>
<p>Para visualizar el servidor, o los sitios web montados que corran con php, deben acceder en el navegador de esta forma:</p>
<p><strong>http://localhost:81/sitioweb/</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/11/15/cambiar-puerto-apache-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso Online (GRATIS) de Desarrollo de Aplicaciones en Silverlight para Windows Phone</title>
		<link>http://www.alexmedina.net/blog/2011/10/11/curso-online-gratis-de-desarrollo-de-aplicaciones-en-silverlight-para-windows-phone/</link>
		<comments>http://www.alexmedina.net/blog/2011/10/11/curso-online-gratis-de-desarrollo-de-aplicaciones-en-silverlight-para-windows-phone/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 11:40:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Phone]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=304</guid>
		<description><![CDATA[Os dejo el enlace: http://msdn.microsoft.com/es-es/windowsphone/hh307892 &#160; &#160; &#160; &#160; &#160; &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://i.msdn.microsoft.com/ff645433.WP_Brd_Grn_h_rgb(es-es,MSDN.10).png" alt="" width="726" height="127" /></p>
<p>Os dejo el enlace:</p>
<p><a href="http://msdn.microsoft.com/es-es/windowsphone/hh307892">http://msdn.microsoft.com/es-es/windowsphone/hh307892</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/10/11/curso-online-gratis-de-desarrollo-de-aplicaciones-en-silverlight-para-windows-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linq to XML: carga de archivos XML enormes (más de 1Gb)</title>
		<link>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-carga-de-archivos-xml-enormes-mas-de-1gb/</link>
		<comments>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-carga-de-archivos-xml-enormes-mas-de-1gb/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 09:39:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[SQLServer]]></category>
		<category><![CDATA[archivos grandes]]></category>
		<category><![CDATA[Linq to XML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=299</guid>
		<description><![CDATA[Estos días he estado bastante liado ya que el proceso que teníamos de carga de XML realizaba una precarga en memoria del archivo (método Load()), la solución que hay es bastante sencilla con un XMLReader, os pongo un fragmento que seguro se entiende: &#160; using (XmlReader reader = XmlReader.Create(directoryTemp + fichero)) { reader.MoveToContent(); int count [...]]]></description>
			<content:encoded><![CDATA[<p>Estos días he estado bastante liado ya que el proceso que teníamos de carga de XML realizaba una precarga en memoria del archivo (método Load()), la solución que hay es bastante sencilla con un XMLReader, os pongo un fragmento que seguro se entiende:</p>
<p>&nbsp;</p>
<pre><span style="color: #339966;">using (XmlReader reader = XmlReader.Create(directoryTemp + fichero))</span>
<span style="color: #339966;">{</span>
<span style="color: #339966;"> reader.MoveToContent();</span>

<span style="color: #339966;"> int count = 0; // una variable contador</span><span style="color: #339966;"> XElement nombretabla = null; // un XElement auxiliar</span>

<span style="color: #339966;"> while (!reader.EOF)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> switch (reader.NodeType)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> case XmlNodeType.Element: // se puede filtrar por tipo de XmlNodeType...</span>
<span style="color: #339966;"> if (count == 0)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> // CUALQUIER CONDICION</span>
<span style="color: #339966;"> count++;</span>
<span style="color: #339966;"> reader.Read();</span>

<span style="color: #339966;"> }</span><span style="color: #339966;"> else if (count == 1)</span>
<span style="color: #339966;"> {</span></pre>
<pre><span style="color: #339966;"> nombretabla = new XElement((XName)reader.Name); // esto para crear un XELEMENT con el nombre del Reader actual</span>
<span style="color: #339966;"> count++;</span>
<span style="color: #339966;"> reader.Read();</span>
<span style="color: #339966;"> }</span><span style="color: #339966;"> else</span>
<span style="color: #339966;"> {</span></pre>
<pre><span style="color: #339966;"> if (string.IsNullOrEmpty(nodoReg)) nodoReg = reader.Name; // condicion para omitir anidados..</span>

<span style="color: #339966;"> if (nodoReg == reader.Name)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> count++;</span>
<span style="color: #339966;"> nombretabla.Add(XElement.ReadFrom(reader) as XElement);</span>

<span style="color: #339966;"> // INSERCION .. cada X lanzo una inserción en BD</span>
<span style="color: #339966;"> if (count % numInserciones == 0)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> nombrecondicionado.Add(nombretabla);</span>
<span style="color: #339966;"> docaux.Add(nombrecondicionado);</span>

<span style="color: #339966;"> // VALIDACION ...</span>
<span style="color: #339966;"> validado = ValidarEsquema(docaux, esquema);</span>

<span style="color: #339966;"> if (validado)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> nreg += cond.Insertar(docaux, delete);</span>
<span style="color: #339966;"> delete = false;</span>

<span style="color: #339966;"> // vacio contenidos</span>
<span style="color: #339966;"> nombretabla.Elements().Remove();</span>
<span style="color: #339966;"> nombrecondicionado.Elements().Remove();</span>
<span style="color: #339966;"> docaux.Elements().Remove();</span>
<span style="color: #339966;"> }</span>
<span style="color: #339966;"> else</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> OnReportInformation(string.Format("ERROR fichero{0} no valido.", fichero), ReportLevel.Error);</span>
<span style="color: #339966;"> EstadoCarga = 2;</span>
<span style="color: #339966;"> }</span>
<span style="color: #339966;"> }</span>

<span style="color: #339966;"> }</span>

<span style="color: #339966;"> }</span>
<span style="color: #339966;"> break;</span>

<span style="color: #339966;"> default :</span>
<span style="color: #339966;"> reader.Read();</span>
<span style="color: #339966;"> break;</span>

<span style="color: #339966;"> }</span>

<span style="color: #339966;"> }</span>
<span style="color: #339966;"> // INSERCION DE LOS ULTIMOS QUE NO ENTRAN EN EL ÚLTIMO WHILE</span>
<span style="color: #339966;"> nombrecondicionado.Add(nombretabla);</span>
<span style="color: #339966;"> docaux.Add(nombrecondicionado);</span>

<span style="color: #339966;"> // VALIDACION</span>
<span style="color: #339966;"> validado = ValidarEsquema(docaux, esquema);</span>

<span style="color: #339966;"> if (validado)</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> nreg += cond.Insertar(docaux, delete);</span>

<span style="color: #339966;"> // vacio contenidos</span>
<span style="color: #339966;"> nombretabla.Elements().Remove();</span>
<span style="color: #339966;"> nombrecondicionado.Elements().Remove();</span>
<span style="color: #339966;"> docaux.Elements().Remove();</span>
<span style="color: #339966;"> }</span>
<span style="color: #339966;"> else</span>
<span style="color: #339966;"> {</span>
<span style="color: #339966;"> OnReportInformation(string.Format("ERROR fichero{0} no valido.", fichero), ReportLevel.Error);</span>
<span style="color: #339966;"> EstadoCarga = 2;</span>
<span style="color: #339966;"> }</span>

<span style="color: #339966;">}</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-carga-de-archivos-xml-enormes-mas-de-1gb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linq to XML: Diferencia entre Elements() y Descendants()</title>
		<link>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-diferencia-entre-elements-y-descendants/</link>
		<comments>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-diferencia-entre-elements-y-descendants/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 08:55:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Descendatns]]></category>
		<category><![CDATA[Elements]]></category>
		<category><![CDATA[Linq to XML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=297</guid>
		<description><![CDATA[La diferencia es sencilla, mientra Descendants() cuenta todos los nodos (anidados incluidos), Elements() solo cuenta los del mismo nivel.  string xml = @"                 &#60;Root&#62;                     &#60;Item&#62;                         &#60;id&#62;1&#60;/id&#62;                     &#60;/Item&#62;                     &#60;Item&#62;                         &#60;id&#62;2&#60;/id&#62;                     &#60;/Item&#62;                     &#60;Item&#62;                         &#60;id&#62;3&#60;/id&#62;                         &#60;Items&#62;                             &#60;Item&#62;                                 &#60;id&#62;5&#60;/id&#62;                             &#60;/Item&#62;                             &#60;Item&#62;                                 &#60;id&#62;6&#60;/id&#62;                             &#60;/Item&#62;                           [...]]]></description>
			<content:encoded><![CDATA[<p>La diferencia es sencilla, mientra Descendants() cuenta todos los nodos (anidados incluidos), Elements() solo cuenta los del mismo nivel.</p>
<pre> <span style="color: #339966;">string xml = @"</span>
<span style="color: #339966;">                &lt;Root&gt;</span>
<span style="color: #339966;">                    &lt;Item&gt;</span>
<span style="color: #339966;">                        &lt;id&gt;1&lt;/id&gt;</span>
<span style="color: #339966;">                    &lt;/Item&gt;</span>
<span style="color: #339966;">                    &lt;Item&gt;</span>
<span style="color: #339966;">                        &lt;id&gt;2&lt;/id&gt;</span>
<span style="color: #339966;">                    &lt;/Item&gt;</span>
<span style="color: #339966;">                    &lt;Item&gt;</span>
<span style="color: #339966;">                        &lt;id&gt;3&lt;/id&gt;</span>
<span style="color: #339966;">                        &lt;Items&gt;</span>
<span style="color: #339966;">                            &lt;Item&gt;</span>
<span style="color: #339966;">                                &lt;id&gt;5&lt;/id&gt;</span>
<span style="color: #339966;">                            &lt;/Item&gt;</span>
<span style="color: #339966;">                            &lt;Item&gt;</span>
<span style="color: #339966;">                                &lt;id&gt;6&lt;/id&gt;</span>
<span style="color: #339966;">                            &lt;/Item&gt;                            </span>
<span style="color: #339966;">                        &lt;/Items&gt;</span>
<span style="color: #339966;">                    &lt;/Item&gt;</span>
<span style="color: #339966;">                    &lt;Item&gt;</span>
<span style="color: #339966;">                        &lt;id&gt;4&lt;/id&gt;</span>
<span style="color: #339966;">                    &lt;/Item&gt;</span>
<span style="color: #339966;">                &lt;/Root&gt;";</span>

<span style="color: #339966;">            XDocument doc1 = XDocument.Parse(xml);</span>

<span style="color: #339966;">            var q1 = from e in doc1.Root.Descendants("Item")</span>
<span style="color: #339966;">                     select e;</span>

<span style="color: #339966;">            var q2 = from e in doc1.Root.Elements("Item")</span>
<span style="color: #339966;">                     select e;</span>

<span style="color: #339966;">            int c1 = q1.Count(); //6</span>
<span style="color: #339966;">            int c2 = q2.Count(); //4</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/10/10/linq-to-xml-diferencia-entre-elements-y-descendants/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Técnica HDR con Photoshop &#8211; VideoTutorial</title>
		<link>http://www.alexmedina.net/blog/2011/09/05/tecnica-hdr-con-photoshop-videotutorial/</link>
		<comments>http://www.alexmedina.net/blog/2011/09/05/tecnica-hdr-con-photoshop-videotutorial/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 14:43:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fotografía]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[efecto]]></category>
		<category><![CDATA[HDR]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[técnica]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.alexmedina.net/blog/?p=293</guid>
		<description><![CDATA[Excelente tutorial donde explica paso a paso como conseguir el efecto HDR con photoshop]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexmedina.net/blog/2011/09/05/tecnica-hdr-con-photoshop-videotutorial/"><em>Pinche aquí para ver el vídeo</em></a></p>
<p>Excelente tutorial donde explica paso a paso como conseguir el efecto HDR con photoshop</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexmedina.net/blog/2011/09/05/tecnica-hdr-con-photoshop-videotutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.419 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-18 16:16:23 -->

