Archivo | Manuales Feed RSS para esta sección

Acceso simple a un archivo XML

This entry is part 4 of 4 in the series Manual XML C#

Pues ya sabemos la teoría sobre los archivos XML. Ahora toca aprender a trabajar con ellos en C#. En este post os enseñaré la forma básica de acceso que nos puede ser de ayuda en estructuras simples.

En .Net necesitaremos la ayuda de cuatro objetos claves para la gestión de estos archivos:

  • XmlDocument: Objeto donde se carga el documento .XML.
  • XmlNodeReader: Objeto que usaremos para leer la estructura del árbol XML.
  • XmlNode: Objeto donde se almacena la información de cada nodo.
  • DataSet: Objeto común para acceso y gestión de datos
 XmlDocument xml = new XmlDocument();
 xml.LoadXml("./Fichero.xml");
 XmlNodeReader LectorXml = new XmlNodeReader(xml);

 DataSet dsXML = new DataSet();
 dsXML.ReadXml(LectorXml);

Ahora ya tenemos nuestro archivo preparado para ser recorrido. Como ya sabemos, un fichero XML puede tener atributos y valores dentro del nodo.

foreach (XmlNode xmlNode in ListaNodo)
{
   ///Pinta el texto del atributo Nombre.
   response.write(xmlNode.Attributes["Nombre"].Value);
   ///Pinta el texto del valor Nombre.
   response.write(xmlNode.InnerText);
}

En siguientes post aprenderemos con Xpath para realizar filtros sobre estructuras de archivos XML complejas y no tener que recorrer todos los nodos para obtener los datos que necesitamos.

Continúa leyendo...

Cómo piratear la Wii (para tontos)

Gracias a Mundo geek descubro que Team Twiizers nos trae un método muy sencillo para piratear la Wii que, además, no requiere la utilización de ningún juego. Este nuevo método se llama LetterBomb.

Letterbomb

¿Cómo funciona LetterBomb? Es de lo más simple. Sólo tienes que visitar su página web, seleccionar la versión del software de la consola, introducir su MAC, descomprimir el archivo generado en la raíz de una tarjeta SD, introducirla en la Wii, y abrir el mensaje que aparecerá en el tablón. Listo. Wii pirateada.


Enlace a LetterBomb

Continúa leyendo...

Estructura de un documento XML (parte II)

This entry is part 3 of 4 in the series Manual XML C#

Debemos de tener en cuenta que en XML existen una serie de caracteres reservados y para ser usados debemos de formatear estos caracteres de forma especial. Si conoces el lenguaje HTML te sonará la simbología:


Entidad Carácter
& &
&lt; <
&gt; >
&apos;
&quot;

No obstante en documentos XML es posible que tenga una estructura realmente compleja por lo que si además nos vemos obligados a usar símbolos especiales el código se vuelva realmente complejo. Para ellos disponemos de la sección CDATA (Character DATA).

Dentro de una sección CDATA no será necesario el uso de caracteres especiales, tan solo debemos tener en cuenta que no podemos usar la cadena ]]> ya que representa el fin del bloque CDATA.

Ejemplo:


<html> 
<head><title>Titulo de la web </title></head>

Puede ser simplificado así:


<![CDATA[

<html>
<head><title>Titulo de la web</title></head>
]]>

Para añadir un comentario debemos de usar la misma estructura que se usa en HTML.


<!– Esto es un comentario –>

Continúa leyendo...

Estructura de un documento XML (parte I)

This entry is part 2 of 4 in the series Manual XML C#

Ya que tenemos claro que es y porque se crean los documentos XML pasaremos a conocer la estructura de un archivo XML y como se denominan cada uno de los apartados.

Todo documento XML tiene por obligación una entidad documento denominado raíz. A partir de esta raíz aparecerán otros subelementos que completaran nuestro archivo y lo almacenarán con la información que queramos guardar.

Ejemplo:


	
		José Ángel Sánchez
		4
		1 EGB 
        
	
		Javier Barba
		4
		1 EGB 
         

Ya tenemos una estructura lógica pero debemos de conocer otro ítem importante de los archivos XML, los atributos. Los atributos nos permitirán añadir propiedades a los elementos. Siguiendo con el caso anterior podemos completar la información de la siguiente manera.

Ejemplo:


	
		José Ángel Sánchez
		4
		1 EGB 
        
	
		Javier Barba
		4
		1 EGB 


Como podéis ver hemos completado la información añadiendo los atributos anno, id y letra para almacenar información más completa de nuestros alumnos.

Pero aún no tenemos correctamente formado nuestro documento XML ya que necesitamos definir una de las líneas más importantes, la línea de encabezado como esta:

<?xml version=” 1.0 ” encoding=” UTF-8 ” standalone= ” yes “?>

En este encabezado no debe de faltar nunca el atributo version ya que es el que definirá el tipo de versión del estándar XML usado.
Por el contrario el atributo encoding, encargado de definir la codificación del texto (por defecto UTF-8) y standalones, cuyo valores (true o false) determinará si nuestro archivo va acompañado de un documento DTD, no son necesario.

Continúa leyendo...

Introducción a la gestión de archivos XML en C#

This entry is part 1 of 4 in the series Manual XML C#

Desde hace mucho tiempo, me lleva rondando la cabeza la idea de crear un manual explicando cómo poder gestionar archivos de datos XML desde C# (C Sharp).Como es lógico empezaremos por el principio y explicaremos que es un archivo XML.

Un archivo XML (eXtensible Markup Language) se trata de un metalenguaje extensible de etiquetas, similar a HTML, creado por la W3C y cuya finalidad principal es intercambiar información entre plataformas. De esta forma podemos generar un archivo XML desde un programa de escritorio en Visual Basic 6 para que lo consuma un web programada en Java o un script de Flash.

Historia

XML proviene de un lenguaje creado por IBMEn los años 80 debido a la necesidad de IBM de almacenar una gran cantidad de datos de una forma estructurada creo GML. A la ISO (Organización Internacional para la Estandarización) le gusto la estructura de este lenguaje ya que resolvía una gran cantidad de problemas que existían esta época y lo convirtio en estándar con la denominación de SGML.
Años más tarde se crearía la Web y su propio lenguaje llamado HTML basado en el estándar SGML pero mucho más caótico. XML, por su parte cumple, con los estándares SGML de la ISO.

Continúa leyendo...

Cómo aumentar la señal WIFI de tu router

En muchas ocasiones la señal WIFI de nuestro router no llega hasta alguna habitación donde necesitamos conectarnos. Así que lo que queremos es mejorar nuestra señal WIFI.

En estos casos la solución comercial es comprar otra antena para nuestro WIFI con mayor ganancia y que consiga emitir más lejos.

Pero en Ikkaro me encuentro con dos métodos caseros y muy sencillos.

El primer método consiste en poner papel de aluminio detrás del router apuntando hacia el lugar donde quieres mejorar la señal. En Ikkaro aseguran haber conseguido un incremento de hasta el 20% a 12 me de distancia y con paredes por medio. ¡Ojo! Que si no apuntamos bien, podemos hacer disminuir la señal.

El segundo método es la construcción de una sencilla antena direccional:

Continúa leyendo...

Menu Multinivel con Css

Genial vídeo donde se explica cómo crear un menú multinivel para tu web de forma muy sencilla usando CSS.

Fuente.

Continúa leyendo...

Validación de formularios con HTML 5

Tal y como leo en anieto2k, HTML5 no solo ofrecerá una serie de elementos para hacer la web más visual, también ayudará a los desarrolladores web a realizar tareas cotidianas de forma más rápida y segura. Una de ellas es la validación de formularios.

Atributos

Gracias a una serie de atributos que podremos usar en elementos de nuestros formularios podremos condicionar desde el diseño las validaciones de cualquier formulario de nuestra página.

required

Como su nombre indica, el formulario no se enviará mientras el elemento que contenga este atributo no esté informado. Algo que hasta ahora estábamos haciendo en nuestra capa de funcionalidad con javascript, recorriendo elementos o comprobando los elementos con una class específica.

<input name="nombre" required >

pattern

También podremos difinir el patrón que el texto deba tener dentro de nuestros elementos <input />. Este atributo realiza dos funciones, una especificar el formato del dato que recibiremos y otra la de ayudar a comprender al usuario el formato que deba usar (por ejemplo, campo para insertar un teléfono (+34) 971 123456).

<input type="telefono" pattern="(+[0-9]{2}) [0-9]{3} [0-9]{6}" >

maxlength

Podremos especificar la longitud máxima de nuestros datos directamente desde un atributo sin necesidad de controlarla desde javascript.

<textarea name="tweet" maxlength="150"></textarea>

min, max, step

Los actuales sliders pasarán a mejor vida cuando nuestros elementos se puedan definir desde nuestros elementos indicando los valores mínimos, máximos y los pasos entre ellos directamente.

<input name="slider" min="1" max="10" step="2" >

Javascript

Esto no significa que desde Javacript no vayamos a hacer nada ya con nuestros formularios, todo lo contrario, se añaden métodos nuevos a los elementos que nos permitirán trabajar con estas validaciones de una forma más cómoda.

Aún es una propuesta, pero apunta a ser una herramienta muy útil.

element.validity

Objeto que nos muestra información referente a la validación del elemento.

  • boolean valueMissing; ?? Devuelve true si el elemento está vacío y requerido.
  • boolean typeMismatch; ?? Devuelve true si el elemento no contiene la sintaxis correcta.
  • boolean patternMismatch; ?? Devuelve true si el elemento no cumple el patrón definido.
  • boolean tooLong; ?? Devuelve true si el elemento es más grande que el tamaño definido.
  • boolean rangeUnderflow; ?? Devuelve true si el elemento es menor al mínimo definido.
  • boolean rangeOverflow; ?? Devuelve true si el elemento es mayor al máximo definido.
  • boolean stepMismatch; ?? Devuelve true si el elemento no concuerda con uno de los pasos definidos.
  • boolean customError; ?? Devuelve true si el elemento tiene un error personalizado.
  • boolean valid; ?? Devuelve true si el elemento es válido.

element.setCustomValidity()

Método definido para especificar un mensaje de error personalizado a un elemento:

<label>Feeling: <input name=f type="text" oninput="check(this)"></label>
<script>
 function check(input) {
   if (input.value == "good" ||
       input.value == "fine" ||
       input.value == "tired") {
     input.setCustomValidity('"' + input.value + '" is not a feeling.');
   } else {
     // input is fine -- reset the error message
     input.setCustomValidity('');
   }
 }
</script>

CSS

La capa de diseño además nos permitirá informar al usuario que un elemento no ha sido validado a la hora de enviar nuestro formulario, para ello nos acercan el pseudoselector :invalid para que podamos definir el aspecto de nuestros elementos no válidos.

:invalid{
border: 1px red solid;
}

Hay muchas más y más interesantes nuevas funcionalidades que nos harán la vida más fácil…

Continúa leyendo...

HTML 5 y CSS 3

La gente de JavaHispano han subido un par de vídeos de un seminario sobre HTML 5 y CSS 3 impartido por Paradigma Tecnológico. Aquí tenéis los videos:

Continúa leyendo...

Manual de JSON

Os dejo una presentación donde nos muestran y explican las bondades del formato JSON. Sin duda, una vez que lo usas, verás lo que te facilita a la hora de intercambiar datos entre el cliente y el servidor.

Emmerson Miranda, el creador de estas diapositivas, nos aclara que JSON es una tecnología que lleva bastante tiempo en el sector y que existen diferentes frameworks de diferentes plataformas de desarrollo que le dan soporte. Además la corriente NoSQL esta almacenando información con esta notación.

Continúa leyendo...