Interfete 4 Web - Carcoteala zilnica despre interfete web: TinyXML tutorial

TinyXML tutorial

Download exemplu TinyXML

Parsele XML pot fi folosite pentru a extrage informatii din interfete web. De exemplu blogger are un API care poate accesa informatiile blogurilor cu ajutorul atom.xml forma xml asociata fiecarui blog.

TinyXML este un parser XML scris in C++ care este foarte usor de integrat si de utilizat. Sursele pot fi descarcate de pe SourceForge si compilate.

Eu am compilat sursele si am integrat libraria care a rezultat tinyxmld.lib si headerele tinyxml.h si tinystr.h in proiectul meu. In continuare am incercat cateva din functionalitatile de baza oferite de librarie:

-Am incarcat fisiereul xml:
TiXmlDocument doc( "test.xml" )
doc.LoadFile();

-Am incarcat primul nod:
pStart=&doc;  
pNext=pStart->FirstChild();

Cateva din obiectele pe care le-am folosit au fost:
TiXmlNode *pStart,*pNext;
TiXmlAttribute *pAttribute;
TiXmlDeclaration *pDeclaration;
TiXmlComment *pComment;
TiXmlElement *pElement;

Obiectul cel mai important este de tipul Node. Un nod poate fi de mai multe tipuri: DECLARATION, COMMENT, ELEMENT, TEXT, UNKNOWN. Tipul nodului se poate afla cu urmatoarea functie:
pChild->Type()

Cel mai important este tipul ELEMENT care poate avea subnoduri din oricare tip. Un nod poate avea atribute care vor fi accesate cu ajutorul obiectelor de tipul TiXmlAttribute. Fiecare tip de nod va fi prelucrat utilizand un obiect specific, de exemplu un nod de tip ELEMENT va fi prelucrat cu ajutorul obiectului de tip TiXmlElement.

Pentru a parcurge fisierul se porneste cu primul nod copil al nodului parinte de tip DOCUMENT. In continuare pentru a trece la nodurile de pe acelasi nivel se foloseste functia NextSibiling.
pStart=&doc;
pNext=pStart->FirstChild();
pNext=pNext->NextSibling();

Pentru a obtine obiectele specifice tipului de nod se folosesc functiile puse la dipozitie:
pDeclaration=pNext->ToDeclaration();
pComment=pNext->ToComment();
pElement=pNext->ToElement();
pText=pChild->ToText();

Numele nodului (tag-ului) se poate obtine utilizand functia Value
pElement->Value()

Numele unui atribut si valoarea acestuia se obtine cu ajutorul functiilor:
pAttribute->Name()
pAttribute->Value()

Primul atribut al unui nod se poate accesa cu functia FirstAttribute() iar urmatorul atribut cu functia Next()
pAttribute=pElement->FirstAttribute();
pAttribute=pAttribute->Next();


Modificarea unui fisier XML este de asemenea foarte simpla. Se poate modifica un atributul unui nod sau valoarea lui apoi se salveaza documentul.
pAttribute=SetAttribute("url", "interfete4web.blogspot.com");
pComment->SetValue(" Am modificat comment-ul" );
doc.SaveFile( "newTest.xml" );

Niciun comentariu:

Trimiteți un comentariu