Arduino:
עבודה עם XML
איך לעשות:
נשתמש בספריית XMLWriter
כדי ליצור XML ובספריית tinyxml2
כדי לפענח אותו. התקינו קודם את הספריות דרך מנהל הספריות בסביבת הפיתוח של ארדואינו.
יצירת מסמך XML:
#include <XMLWriter.h>
void setup() {
Serial.begin(9600);
XMLWriter xml(&Serial); // משתמשים ב-Serial לפלט
xml.header();
xml.tag("greeting").tag("text").text("Hello, world!").close().close();
xml.flush();
}
void loop() {
}
פיענוח מחרוזת XML:
#include <tinyxml2.h>
tinyxml2::XMLDocument doc;
doc.Parse("<greeting><text>Hello, world!</text></greeting>");
tinyxml2::XMLElement* text = doc.FirstChildElement("greeting")->FirstChildElement("text");
if (text != nullptr) {
Serial.println(text->GetText());
}
דוגמת פלט:
<greeting>
<text>Hello, world!</text>
</greeting>
עיון נוסף
XML, או שפת הסימון הניתנת להרחבה, היא שפת סימון המגדירה קבוצת כללים לקידוד מסמכים בפורמט שהוא גם קריא לאדם וגם ניתן לקריאה על ידי מכונה. היא קיימת מאז סוף שנות ה-90 ונמצאת בשימוש נרחב בתחומים שונים, במיוחד שם שנדרשת החלפת נתונים בלתי תלויה בפלטפורמה. משאבי הזיכרון המוגבלים של ארדואינו הופכים את העבודה עם XML למאתגרת יותר מאשר על מחשב אישי. לכן, ספריות קלות משקל הן קריטיות. למרות ש-JSON זכה לפופולריות לשם החלפת נתונים בשל תחבירו הפשוט יותר וטביעת הרגל הקטנה יותר שלו, XML עדיין בשימוש נרחב, במיוחד כאשר מתמודדים עם מערכות ישנות או יישומים הדורשים אימות מסמך באמצעות סכימות. חשוב ליישום XML בארדואינו הוא פרסום אינטראקטיבי, הקורא את המסמך בקטעים כדי לשמור על שימוש נמוך בזיכרון.
ראו גם
- תיעוד ספריית TinyXML-2
- ספריית Arduino JSON כאלטרנטיבה בעבודה עם נתוני JSON.
- מדריך XML של W3Schools ללמידה כללית על XML.
- מפרט XML של W3C לתקנים והמלצות XML הרשמיים.