Uso de XML en la frambuesa Pi con Python (1 / 3 paso)

Paso 1: ¿Qué es XML? ¿Por qué es útil?

¿Qué es XML?

XML significa lenguaje de marcado eXtensible. Es un lenguaje para estructurar, almacenar y transportar información de una manera independiente de hardware y software. Parece clase de HTML pero se utiliza para el transporte de información no para mostrar la información. HTML y XML son dos ejemplos de un SGML (lenguaje de marcado generalizado estándar).

¿Qué usar XML para?

Es un poco difícil de entender, pero XML "no hace" nada. XML está diseñado para el transporte de información a diferencia de HTML que se utiliza para mostrar información. Utiliza XML para datos de estructura (generalmente en un formato legible humano) y enviar estos datos a otras piezas de software en tu máquina o a través de Internet. A menudo las preferencias del usuario o datos de usuario es también se almacena en XML y luego escritos en archivos. Si usted necesita enviar datos semiestructurados, XML es una excelente opción. Es fácil de analizar, fácil de modificar y más importante, fácil de depurar. Una característica muy útil de archivos XML es que puede prolongarse (más elementos, atributos, etc.) sin romper las aplicaciones. Que, por supuesto, las aplicaciones están bien escritas (ver parte dos de esta serie).

Este es un mensaje completo de XML:

 <?xml version="1.0" encoding="ISO-8859-1"?> <XMLCOMMAND> 
 <OBJECTID>12</OBJECTID> <OBJECTSERVERID>BL-1</OBJECTSERVERID> <OBJECTTYPE>2048</OBJECTTYPE> <OBJECTFLAGS>0</OBJECTFLAGS> <RASPICONNECTSERVERVERSIONNUMBER>2.4 </RASPICONNECTSERVERVERSIONNUMBER> <RESPONSE> 
 <![CDATA[100.00, 0.00, CPU Load]]> </RESPONSE> 
 </XMLCOMMAND> 

Estructura de un mensaje XML

A diferencia de HTML, en XML definir sus propias etiquetas. Un mensaje XML bien formado tiene una "raíz" y luego "ramas" y "hojas". La primera línea es la declaración XML. Rara vez cambia. La segunda línea describe el elemento raíz del documento XML.

 <XMLCOMMAND> 

Secretos de carácter especial de XML

Tenga en cuenta que el extremo de la raíz XML tiene una etiqueta de cierre:

 </XMLCOMMAND> 

Todos los elementos XML deben tener una apertura y la etiqueta de cierre. Esto, además de la raíz es la definición de un "documento XML bien formado". Por cierto, todas las etiquetas XML distinguen mayúsculas y minúsculas. Una buena práctica de codificación de XML es que todas las etiquetas mayúsculas. Haciendo esto también hace que la estructura de la XML se destacan cuando usted lee.

Agregar elementos secundarios



Elementos secundarios se utilizan para proporcionar datos adicionales e información sobre el elemento XML envolvente (es decir, en el ejemplo anterior). Tenga en cuenta que XML no requiere el mismo conjunto de elementos secundarios para cada elemento XML envolvente, hacer la actualización o modificación de sus elementos fácil. Sin embargo, su intérprete debe manejar esta situación! Elementos secundarios son elementos XML por debajo de la raíz (OBJECTID, OBJECTSERVERID, OBJECTTYPE, OBJECTFLAGS, RASPICONNECTSERVERVERSIONNUMBER, respuesta). Todas estas etiquetas deben tener un comienzo y el final etiqueta similar a la raíz. Además, todos los elementos pueden tener elementos secundarios anidados dentro.

Atributos XML

Elementos XML pueden tener atributos, al igual que HTML. Atributos proporcionan información adicional acerca de un elemento. Por Convención, atributos se dan generalmente en minúsculas. Es una buena práctica usar atributos en XML con moderación y de manera consistente. Puede reescribir el anterior XML como el siguiente:

 <PICTURE id="1"> <TYPE>gif</TYPE> 
 <FILE>BPNSCFA.gif</FILE> </PICTURE> 

No tener atributos hace el parseo del XML más fácil en muchos sentidos.

Hay dos personajes que no están permitidos dentro de un elemento XML. Son los "<" y "&". El ">" se permite el carácter, pero también es una buena práctica para reemplazar a este personaje. Las referencias a entidades predefinidas en XML para estos personajes son "<", "&" y ">".

Envío de datos Especial en XML

A veces desea enviar datos generales en el elemento XML sin reemplazar caracteres especiales. Por ejemplo, usted puede enviar una página HTML dentro de un elemento XML (la aplicación de RasPiConnect para ello) y no desea cambiar todos los personajes. XML analiza todo el texto dentro de los elementos por defecto, pero hay una manera de cambiar eso: CDATA. Dentro de una estructura CDATA, el analizador XML ignora los datos y se puede pasar sin cambio en un mensaje XML. CDATA se ve así:

 <![CDATA[<XML & DOES & NOT <LIKETHIS>]]> 

Validar su XML

Hay muchos sitios en la web que validará que el XML está bien formado. http://www.xmlvalidation.com es un tal sitio. Cortar y pegar el XML desde la primera página para probarlo.

Conclusión

XML es un método simple, fácil de entender para el envío de información de una manera independiente de hardware y software. Las principales ventajas de XML son la legibilidad y portabilidad entre sistemas. Proporciona un marco fácilmente extensible para el intercambio de información. Para aprender más sobre XML tratan de los siguientes sitios web: http://www.w3schools.com/xml/http://www.quackit.com/xml/tutorial/

Artículos Relacionados

Obtener precios de Stock en frambuesa Pi (con Python)

Obtener precios de Stock en frambuesa Pi (con Python)

Estoy trabajando en algunos nuevos proyectos que implican obtener datos del precio de las acciones de la web, que se realiza un seguimiento y visualizar a través de mi frambuesa Pi. Quería compartir la configuración de cómo hacer esto usando Python.E
Programación frambuesa Pi con CODESYS

Programación frambuesa Pi con CODESYS

Hola,Este instructable es básicamente un tutorial para que usted consiga ir utilizando el entorno CODESYS para programar un Raspberry Pi.Este instructivo está dirigido no tanto a los aficionados, sino más bien incipiente ingenieros de control/automat
Construcción de robots con Python y frambuesa Pi

Construcción de robots con Python y frambuesa Pi

el objetivo de este tutorial es ayudarle a comenzar a programar con Python para controlar tus robots Arduino con un Raspberry PI. Revisaremos los aspectos básicos como instalación y algunos ejemplos simples para controlar tu robot desde una GUI de Py
Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

Inalámbrico de temporizador de luz de Navidad con Python y frambuesa Pi

actualización 14/01/2014: gracias a todos los que votaron por este proyecto en el concurso de Hacking de Hardware! Esperando a mi nueva pluma del fabricante.¿Actualización 31/12/2013: en busca de una versión más avanzada de este proyecto? Echale mi n
Cómo que arranque frambuesa Pi con NOOBS

Cómo que arranque frambuesa Pi con NOOBS

en caso de que no sabes, la frambuesa Pi es un ordenador de tamaño tarjeta de crédito. Originalmente fue creado para ayudar a los jóvenes a aprender a programar. Puesto que los proyectos de lanzan de esta placa pequeña ha recorrido un largo camino. H
REGISTRO frambuesa Pi con monitor de coche

REGISTRO frambuesa Pi con monitor de coche

Así que este perezoso Geek (registro antiguo) decidió comprar un Raspberry Pi. Ahora el Pi sí mismo es muy pequeña (ver foto) pero el primer problema que encontré fue que con todos los cables conectados, no es muy estable. Los cables, especialmente m
Jugar Imperial marcha de Star Wars en frambuesa Pi con zumbador piezoeléctrico

Jugar Imperial marcha de Star Wars en frambuesa Pi con zumbador piezoeléctrico

Vamos a hacer algo de ruido con Raspberry Pi y un zumbador piezoeléctrico. Este tutorial proporciona instrucciones paso a paso cómo tocar la marcha Imperial, también conocido como tema de la Dart Vader, de Star Wars en la Raspberry Pi. Por supuesto,
Leva de seguridad fácil frambuesa Pi con carga automática de la Web

Leva de seguridad fácil frambuesa Pi con carga automática de la Web

Este es un proyecto que redacté súper rápido en una semana o así. La razón por la que tenía que configurarlo de la manera que lo hizo fue obtener un sistema de seguridad básico en lugar tan pronto como sea posible para supervisar mi garaje via mi dis
Fuente de alimentación casera de frambuesa Pi con XL6009 DC-DC Boost módulo

Fuente de alimentación casera de frambuesa Pi con XL6009 DC-DC Boost módulo

Fuente de alimentación casera de frambuesa Pi con XL6009 DC-DC Boost Boost elevador potencia módulo convertidorv muy barata y ajustableDSN6009 4A es un potente elevador conmutación (BOOST) módulo actual. El módulo utiliza la segunda generación de tec
Portapapeles comunicación PC ↔ Pi con Python

Portapapeles comunicación PC ↔ Pi con Python

Yo normalmente uso mi frambuesa Pi en un escritorio compartido de windows. Comparto también una unidad de red con el Pi. Esto es genial, pero sigo teniendo la molestia del portapapeles en el PC no se refleja en la Pi. Puede haber aplicaciones de plat
Cómo empezar con python.

Cómo empezar con python.

Así que creo que a ti mismo, hombre ésos codificación dudes seguro que molan! ¿O tal vez eres un gurú de codificación y quiero aprender otro idioma para presumir en el sótano de las madres? Bien de cualquier manera has seleccionado el idioma correcto
LinkIt uno - comunicación con python

LinkIt uno - comunicación con python

Hola compañeros creadores!Nueva Junta de MediaTek, LinkIt uno ofrece gran potencial - GPS, WiFi, Bluetooth, GSM, extensibilidad con gpio, procesador fuerte y mucho más. Pero a veces necesita la comodidad de python para analizar archivos o gráficos de
Control de Arduino con python basado en web API (No php)

Control de Arduino con python basado en web API (No php)

En esta guía le mostrará cómo controlar el dispositivo arduino de una página web! Luego, te voy a mostrar cómo controlar tu arduino desde tu dispositivo móvil e incluso crear un API basado en web para controlar tu arduino desde su página web con otro
Gestión de foto digital - fotos Del débil con Python

Gestión de foto digital - fotos Del débil con Python

En los días con la película cuesta dinero cada vez que usted oprimió el botón del obturador, ahora "película" es gratuita, así que a menudo tomamos duplicados en caso de que el enfoque, el encuadre o algún otro detalle está apagado. A veces toma