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
- TinyXML-2 -kirjaston dokumentaatio
- Arduino JSON -kirjasto vaihtoehtona, kun työskennellään JSON-datan kanssa.
- W3Schoolsin XML-oppitunti yleiseen XML:n oppimiseen.
- W3C:n XML-spesifikaatio virallisille XML-standardeille ja suosituksille.