TinyXML
Megjelenés
Főnév
TinyXML (tsz. TinyXMLs)
- (informatika) A TinyXML egy könnyűsúlyú, egyszerűen használható XML feldolgozó könyvtár C++-hoz. Nyílt forráskódú és ideális kisebb XML dokumentumok olvasására, írására és módosítására. Bár nem tartalmaz teljes XPath vagy XSLT támogatást, alapvető XML-feldolgozásra kiválóan alkalmas.
Telepítés és használat
A TinyXML letölthető a GitHub-ról, de sok fejlesztői környezetben (pl. Linux alatt apt-get install libtinyxml2-dev) is elérhető.
1. Telepítés lépései
Ha manuálisan szeretnéd használni: 1. Töltsd le a TinyXML forráskódját. 2. Fordítsd le és illeszd be a projektedbe. 3. Includold a megfelelő fájlokat:
#include "tinyxml2.h"
using namespace tinyxml2;
Alapvető használati példák
1. XML fájl beolvasása
Például legyen egy pelda.xml fájl:
<root>
<gyerek nev="Anna" kor="5"/>
<gyerek nev="Béla" kor="7"/>
</root>
Kód a beolvasásra:
#include <iostream>
#include "tinyxml2.h"
using namespace tinyxml2;
using namespace std;
int main() {
XMLDocument doc;
if (doc.LoadFile("pelda.xml") != XML_SUCCESS) {
cout << "Hiba az XML beolvasásakor!" << endl;
return 1;
}
XMLElement* root = doc.FirstChildElement("root");
if (root == nullptr) {
cout << "Nem található a root elem!" << endl;
return 1;
}
for (XMLElement* elem = root->FirstChildElement("gyerek"); elem != nullptr; elem = elem->NextSiblingElement("gyerek")) {
const char* nev = elem->Attribute("nev");
int kor;
elem->QueryIntAttribute("kor", &kor);
cout << "Gyerek: " << (nev ? nev : "N/A") << ", Kor: " << kor << endl;
}
return 0;
}
Eredmény:
Gyerek: Anna, Kor: 5 Gyerek: Béla, Kor: 7
2. Új XML létrehozása és mentése
Ha létre akarunk hozni egy új XML dokumentumot és fájlba menteni:
#include <iostream>
#include "tinyxml2.h"
using namespace tinyxml2;
using namespace std;
int main() {
XMLDocument doc;
// Gyökérelem létrehozása
XMLElement* root = doc.NewElement("root");
doc.InsertFirstChild(root);
// Első gyermek
XMLElement* child1 = doc.NewElement("gyerek");
child1->SetAttribute("nev", "Anna");
child1->SetAttribute("kor", 5);
root->InsertEndChild(child1);
// Második gyermek
XMLElement* child2 = doc.NewElement("gyerek");
child2->SetAttribute("nev", "Béla");
child2->SetAttribute("kor", 7);
root->InsertEndChild(child2);
// Mentés fájlba
doc.SaveFile("uj_pelda.xml");
cout << "XML létrehozva és mentve!" << endl;
return 0;
}
Ez a kód egy uj_pelda.xml fájlt hoz létre a következő tartalommal:
<root>
<gyerek nev="Anna" kor="5"/>
<gyerek nev="Béla" kor="7"/>
</root>
Összegzés
A TinyXML egy könnyen használható XML könyvtár, amely: ✔ Egyszerű XML beolvasást és írást biztosít.
✔ Kicsi, gyors és hatékony C++-ban.
✔ Nem igényel külső függőségeket.