Arduino:
XML:n käsittely

Kuinka:

Käytämme XMLWriter-kirjastoa XML:n luontiin ja tinyxml2-kirjastoa sen jäsentämiseen. Asenna kirjastot ensin Kirjastohallinnan kautta Arduino IDE:ssäsi.

XML-dokumentin luonti:

#include <XMLWriter.h>

void setup() {
  Serial.begin(9600);
  
  XMLWriter xml(&Serial); // Käyttäen Serialia tulostukseen
  
  xml.header();
  xml.tag("greeting").tag("text").text("Hei, maailma!").close().close();
  xml.flush();
}

void loop() {
}

XML-merkkijonon purkaminen:

#include <tinyxml2.h>

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

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

Esimerkkivastaus:

<greeting>
  <text>Hei, maailma!</text>
</greeting>

Syväsukellus

XML eli Laajennettava Merkintäkieli on merkintäkieli, joka määrittelee joukon sääntöjä dokumenttien koodaamiseen muodossa, joka on sekä ihmisen lueteltavissa että koneellisesti luettavissa. Se on ollut olemassa 90-luvun lopulta lähtien ja sitä käytetään laajasti eri aloilla, erityisesti alustoista riippumattoman datanvaihdon tarpeisiin. Arduinon rajalliset muistiresurssit tekevät XML:n käsittelystä haastavampaa kuin PC:llä. Tästä syystä kevyet kirjastot ovat ratkaisevan tärkeitä. Vaikka JSON on saavuttanut suosiota datanvaihdossa sen yksinkertaisemman syntaksin ja pienemmän jalanjäljen ansiosta, XML:ää käytetään edelleen laajasti, erityisesti kun työskennellään legacy-järjestelmien kanssa tai sovelluksissa, jotka vaativat dokumentin validointia skeemojen kautta. Avain Arduino XML-toteutuksessa on suoratoistojäsentäminen, joka lukee asiakirjan osissa pitääkseen muistin käytön alhaisena.

Katso Myös