Skip to content

Instantly share code, notes, and snippets.

@Mandar-Shinde
Created December 22, 2015 17:33
Show Gist options
  • Save Mandar-Shinde/aeb513028caa329cd4d4 to your computer and use it in GitHub Desktop.
Save Mandar-Shinde/aeb513028caa329cd4d4 to your computer and use it in GitHub Desktop.
TinyXML Sample
#include "tinyxml2.h"
using namespace tinyxml2;
using namespace std;
//<EMAIL>
// <HEADER>
// <TO>
// </TO>
// <SUBJECT>
// </SUBJECT>
// </HEADER>
// <BODY>
// </BODY>
//</EMAIL>
//
// Prepare XML
//
tinyxml2::XMLDocument xmlDoc;
XMLNode * pRoot = xmlDoc.NewElement("EMAIL");
xmlDoc.InsertFirstChild(pRoot);
XMLElement * HEADER = xmlDoc.NewElement("HEADER");
pRoot->InsertEndChild(HEADER);
XMLElement * TO = xmlDoc.NewElement("TO");
TO->SetText("01.mandar@gmail.com");
HEADER->InsertEndChild(TO);
XMLElement * SUBJECT = xmlDoc.NewElement("SUBJECT");
HEADER->InsertEndChild(SUBJECT);
XMLElement * BODY = xmlDoc.NewElement("BODY");
pRoot->InsertEndChild(BODY);
//
// Copy XML data to string
//
XMLPrinter printer;
xmlDoc.Print(&printer);
string dataxml;
dataxml.append(printer.CStr());
//
// Save XML DATA to file
//
XMLError eResult = xmlDoc.SaveFile("d:\\SavedData.xml");
//
// Parse XML form txt
//
tinyxml2::XMLDocument xmlDocRead;
xmlDocRead.Parse(dataxml.c_str());
//
// Get value of an node
//
XMLElement* valTO = xmlDocRead.FirstChildElement("EMAIL")->FirstChildElement("HEADER")->FirstChildElement("TO");
if (valTO)
{
const char* sTO = valTO->GetText();
printf("Sending Email to : %s\n", sTO);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment