Arduino:
Att arbeta med XML
Hur man gör:
Vi kommer att använda XMLWriter
-biblioteket för att skapa XML och tinyxml2
-biblioteket för att tolka det. Installera först biblioteken via Bibliotekshanteraren i din Arduino IDE.
Skapa ett XML-dokument:
#include <XMLWriter.h>
void setup() {
Serial.begin(9600);
XMLWriter xml(&Serial); // Använder Serial för utmatning
xml.header();
xml.tag("greeting").tag("text").text("Hej, världen!").close().close();
xml.flush();
}
void loop() {
}
Dekodera en XML-sträng:
#include <tinyxml2.h>
tinyxml2::XMLDocument doc;
doc.Parse("<greeting><text>Hej, världen!</text></greeting>");
tinyxml2::XMLElement* text = doc.FirstChildElement("greeting")->FirstChildElement("text");
if (text != nullptr) {
Serial.println(text->GetText());
}
Exempelutmatning:
<greeting>
<text>Hej, världen!</text>
</greeting>
Djupdykning
XML, eller Extensible Markup Language, är ett märkspråk som definierar en uppsättning regler för att koda dokument i ett format som är både mänskligt läsbart och maskinläsbart. Det har funnits sedan slutet av 90-talet och används flitigt inom olika områden, speciellt där plattformsoberoende datautbyte behövs. Arduinos begränsade minnesresurser gör att arbete med XML är mer utmanande än på en PC. Därför är lätta bibliotek avgörande. Även om JSON har blivit populärt för datautbyte på grund av sin enklare syntax och mindre fotavtryck, används XML fortfarande brett, särskilt när man hanterar äldre system eller applikationer som kräver dokumentvalidering via scheman. Nyckeln till Arduinos XML-implementering är strömanalys, som läser dokumentet i segment för att hålla minnesanvändningen låg.
Se även
- TinyXML-2 Library Documentation
- Arduino JSON Library som ett alternativ när man arbetar med JSON-data.
- W3Schools XML Tutorial för allmän lärande om XML.
- W3C XML Specification för officiella XML-standarder och rekommendationer.