Arduino:
Werken met XML

Hoe te:

We gaan de XMLWriter-bibliotheek gebruiken om XML te creëren en de tinyxml2-bibliotheek om het te parsen. Installeer eerst de bibliotheken via de Bibliotheekbeheerder in je Arduino IDE.

Een XML-document creëren:

#include <XMLWriter.h>

void setup() {
  Serial.begin(9600);
  
  XMLWriter xml(&Serial); // Gebruikmakend van Serial voor uitvoer
  
  xml.header();
  xml.tag("greeting").tag("text").text("Hallo, wereld!").close().close();
  xml.flush();
}

void loop() {
}

Een XML-string decoderen:

#include <tinyxml2.h>

tinyxml2::XMLDocument doc;
doc.Parse("<greeting><text>Hallo, wereld!</text></greeting>");

tinyxml2::XMLElement* text = doc.FirstChildElement("greeting")->FirstChildElement("text");
if (text != nullptr) {
  Serial.println(text->GetText());
}

Voorbeelduitvoer:

<greeting>
  <text>Hallo, wereld!</text>
</greeting>

Diepgaand Onderzoek

XML, of Extensible Markup Language, is een opmaaktaal die een reeks regels definieert voor het coderen van documenten in een formaat dat zowel voor mensen leesbaar als voor machines leesbaar is. Het bestaat al sinds de late jaren ‘90 en wordt uitgebreid gebruikt in diverse velden, vooral waar platformonafhankelijke gegevensuitwisseling nodig is. Arduino’s beperkte geheugenbronnen maken het werken met XML uitdagender dan op een PC. Daarom zijn lichtgewicht bibliotheken cruciaal. Hoewel JSON aan populariteit heeft gewonnen voor gegevensuitwisseling vanwege zijn eenvoudigere syntax en kleinere voetafdruk, wordt XML nog steeds veel gebruikt, vooral bij omgang met legacy-systemen of applicaties die documentvalidatie vereisen via schema’s. Key tot Arduino XML-implementatie is stream-parsing, dat het document in segmenten leest om het geheugengebruik laag te houden.

Zie Ook