Använda XML på Raspberry Pi med Python (1 / 3 steg)
Steg 1: Vad är XML? Varför är det bra?
Vad är XML?
XML står för eXtensible Markup Language. Det är ett språk för att strukturera, lagra och transportera information på maskinvaru- och oberoende sätt. Det ser ungefär ut som HTML men det används för att transportera information inte för att visa information. HTML och XML är båda exempel på en SGML (Standard Generalized Markup Language).
Vad ska du använda XML för?
Det är lite svårt att förstå, men XML har inte "göra" något. XML är utformat för att överföra information till skillnad från HTML som används för att visa information. Du använda XML att strukturera data (vanligen i mänsklig läsbart format) och skicka dessa data till andra delar av programvara på din egen dator eller via Internet. Ofta användarinställningar och användardata är också lagras i XML och skrivs sedan till filerna. Om du behöver skicka strukturerade data, sedan är XML ett utmärkt val. Det är lätt att parsa, lätt att ändra, och mest viktigt, lätt att felsöka. En mycket användbar kännetecken av XML-filer är att de kan förlängas (fler element, attribut, etc.) utan att bryta program. Att ge, naturligtvis, är dessa ansökningar välskrivna (se del två av denna serie).
Här är ett komplett XML-meddelande:<? XML-version = "1.0" encoding = "ISO-8859-1"? >
< XMLCOMMAND >
< OBJECTID > 12 < / OBJECTID >
< OBJECTSERVERID > BL-1 < / OBJECTSERVERID >
< OBJEKTTYP > 2048 < / OBJECTTYPE >
< OBJECTFLAGS > 0 < / OBJECTFLAGS >
< RASPICONNECTSERVERVERSIONNUMBER > 2.4
< / RASPICONNECTSERVERVERSIONNUMBER >
< svar >
<! [CDATA [100,00, 0,00, CPU belastning]] >
< / svar >
< / XMLCOMMAND >
Strukturen i XML-meddelandet
Till skillnad från HTML, i XML definierar du dina egna taggar. En välformad XML-meddelande har en "root" och sedan "grenar" och "lämnar". Den första raden är XML-deklarationen. Det ändras sällan. Den andra raden beskriver rotelementet i XML-dokumentet.
< XMLCOMMAND >
XML-specialtecken hemligheter
Observera att i slutet av XML-roten har en avslutande tagg:
< / XMLCOMMAND >
Alla element i XML måste ha en öppnande och avslutande tagg. Detta, är utöver roten definitionen av ett "giltigt XML-dokument". Förresten, är alla taggar i XML skiftlägeskänsligt. En god XML-kodning praxis är att göra alla Taggar versaler. Detta gör också strukturen på den XML-sticker ut när du läser det.
Lägg till underordnade element
Underordnade element används för att ge ytterligare data och information om omslutande XML-elementet (dvs i exemplet ovan). Observera att XML inte kräver samma uppsättning underordnade element för varje omslutande XML-element, att uppgradera eller byta din lätt element. Men har din parser att hantera denna situation! Underordnade element är XML-element under roten (OBJECTID, OBJECTSERVERID, OBJEKTTYP, OBJECTFLAGS, RASPICONNECTSERVERVERSIONNUMBER, svar). Alla dessa taggar måste ha en inledande och avslutande tagg liknar roten. Dessutom kan alla element ha underordnade element inuti.
XML-attribut
XML-element kan ha attribut, precis som HTML. Attributen innehåller ytterligare information om ett element. Av konvention ges vanligen attribut i gemener. Det är god praxis att använda attribut i XML sparsamt och på ett konsekvent sätt. Du kan skriva om ovanstående XML som följande:
< bild-id = "1" >
< typ > gif < / typ >
< FILE > BPNSCFA.gif < / fil >
< / bild >
Att inte ha attribut gör tolkning av XML lättare på många sätt.
Det finns två tecken som inte är tillåtna i ett XML-element. De är de "<" och "&". Den ">" karaktär är tillåtet, men det är också bra praxis att ersätta denna karaktär. De fördefinierade entitetsreferenser i XML för dessa tecken är "<", "&" och ">".
Skicka särskilda data i XML
Ibland vill du skicka allmänna data i XML-elementet utan att ersätta specialtecken. Exempelvis kanske du vill skicka en HTML-sida i ett XML-element (RasPiConnect ansökan gör detta) och du vill inte ändra alla tecken. XML tolkar alla texten inuti element som standard, men det finns ett sätt att ändra på det: CDATA. Inuti en CDATA struktur, XML-parsern ignorerar data och det kan skickas utan förändring i XML-meddelandet. CDATA ser ut så här:
<! [CDATA [< XML & gör & inte < LIKETHIS >]] >
Validera din XML
Det finns många webbplatser på nätet som kommer att bekräfta att din XML är välformade. http://www.xmlvalidation.com är en sådan plats. Klipp och klistra in den XML från första sidan om du vill prova det.
Slutsats
XML är en enkel, lätt att förstå metoden för att skicka information i en maskinvaru- och oberoende sätt. De främsta fördelarna med XML är läsbarhet och portabilitet mellan system. Det ger en lätt utökningsbart ramverk för utbyte av information. Att lära sig mer om XML prova följande webbplatser: http://www.w3schools.com/xml/http://www.quackit.com/xml/tutorial/