std::string MessageListXML::GetXML()\r
{\r
Poco::AutoPtr<Poco::XML::Document> doc=new Poco::XML::Document;\r
- //TiXmlDocument td;\r
- //TiXmlDeclaration *tdec=new TiXmlDeclaration("1.0","UTF-8","");\r
- Poco::XML::Element *root=doc->createElement("MessageList");\r
- //TiXmlElement *tid;\r
- //TiXmlPrinter tp;\r
+ Poco::AutoPtr<Poco::XML::Element> root=doc->createElement("MessageList");\r
\r
doc->appendChild(root);\r
- //td.LinkEndChild(tdec);\r
- //tid=new TiXmlElement("MessageList");\r
- //td.LinkEndChild(tid);\r
\r
for(std::vector<message>::iterator i=m_messages.begin(); i!=m_messages.end(); i++)\r
{\r
- Poco::XML::Element *tr=doc->createElement("Message");\r
- //TiXmlElement *tr=new TiXmlElement("Message");\r
+ Poco::AutoPtr<Poco::XML::Element> tr=doc->createElement("Message");\r
root->appendChild(tr);\r
- //tid->LinkEndChild(tr);\r
tr->appendChild(XMLCreateTextElement(doc,"Date",(*i).m_date));\r
- //tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date));\r
tr->appendChild(XMLCreateTextElement(doc,"Index",(*i).m_index));\r
- //tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index));\r
- Poco::XML::Element *boards=doc->createElement("Boards");\r
- //TiXmlElement *brds=new TiXmlElement("Boards");\r
+ \r
+ Poco::AutoPtr<Poco::XML::Element> boards=doc->createElement("Boards");\r
tr->appendChild(boards);\r
- //tr->LinkEndChild(brds);\r
for(std::vector<std::string>::iterator j=(*i).m_boards.begin(); j!=(*i).m_boards.end(); j++)\r
{\r
boards->appendChild(XMLCreateCDATAElement(doc,"Board",(*j)));\r
- //brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j)));\r
}\r
}\r
\r
for(std::vector<externalmessage>::iterator i=m_externalmessages.begin(); i!=m_externalmessages.end(); i++)\r
{\r
- Poco::XML::Element *tr=doc->createElement("ExternalMessage");\r
- //TiXmlElement *tr=new TiXmlElement("ExternalMessage");\r
+ Poco::AutoPtr<Poco::XML::Element> tr=doc->createElement("ExternalMessage");\r
root->appendChild(tr);\r
- //tid->LinkEndChild(tr);\r
tr->appendChild(XMLCreateTextElement(doc,"Type",(*i).m_type));\r
- //tr->LinkEndChild(XMLCreateTextElement("Type",(*i).m_type));\r
if((*i).m_type=="Keyed")\r
{\r
tr->appendChild(XMLCreateCDATAElement(doc,"Identity",(*i).m_identity));\r
- //tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity));\r
tr->appendChild(XMLCreateTextElement(doc,"Index",(*i).m_index));\r
- //tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index));\r
}\r
else\r
{\r
tr->appendChild(XMLCreateCDATAElement(doc,"MessageKey",(*i).m_messagekey));\r
- //tr->LinkEndChild(XMLCreateCDATAElement("MessageKey",(*i).m_messagekey));\r
}\r
tr->appendChild(XMLCreateTextElement(doc,"Date",(*i).m_date));\r
- //tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date));\r
- Poco::XML::Element *boards=doc->createElement("Boards");\r
- //TiXmlElement *brds=new TiXmlElement("Boards");\r
+\r
+ Poco::AutoPtr<Poco::XML::Element> boards=doc->createElement("Boards");\r
tr->appendChild(boards);\r
- //tr->LinkEndChild(brds);\r
for(std::vector<std::string>::iterator j=(*i).m_boards.begin(); j!=(*i).m_boards.end(); j++)\r
{\r
boards->appendChild(XMLCreateCDATAElement(doc,"Board",(*j)));\r
- //brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j)));\r
}\r
}\r
\r
- //td.Accept(&tp);\r
- //return std::string(tp.CStr());\r
return GenerateXML(doc);\r
}\r
\r
}\r
\r
return parsed;\r
-\r
- /*\r
- TiXmlDocument td;\r
- td.Parse(xml.c_str());\r
-\r
- if(!td.Error())\r
- {\r
- std::string tempstr;\r
- std::string date;\r
- long index;\r
- std::vector<std::string> boards;\r
- TiXmlText *txt;\r
- TiXmlHandle hnd(&td);\r
- TiXmlNode *node;\r
- TiXmlNode *node2;\r
-\r
- Initialize();\r
-\r
- node=hnd.FirstChild("MessageList").FirstChild("Message").ToNode();\r
- while(node)\r
- {\r
- date="";\r
- index=-1;\r
- boards.clear();\r
-\r
- TiXmlHandle hnd2(node);\r
- txt=hnd2.FirstChild("Date").FirstChild().ToText();\r
- if(txt)\r
- {\r
- date=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd2.FirstChild("Index").FirstChild().ToText();\r
- if(txt)\r
- {\r
- tempstr=SanitizeSingleString(txt->ValueStr());\r
- StringFunctions::Convert(tempstr,index);\r
- }\r
- node2=hnd2.FirstChild("Boards").FirstChild("Board").ToNode();\r
- while(node2)\r
- {\r
- if(node2->FirstChild())\r
- {\r
- std::string boardname=SanitizeSingleString(node2->FirstChild()->ValueStr());\r
- StringFunctions::LowerCase(boardname,boardname);\r
- boards.push_back(boardname);\r
- }\r
- node2=node2->NextSibling("Board");\r
- }\r
-\r
- m_messages.push_back(message(date,index,boards));\r
-\r
- node=node->NextSibling("Message");\r
- }\r
-\r
- node=hnd.FirstChild("MessageList").FirstChild("ExternalMessage").ToNode();\r
- while(node)\r
- {\r
- std::string type="";\r
- std::string identity="";\r
- date="";\r
- index=-1;\r
- boards.clear();\r
-\r
- TiXmlHandle hnd2(node);\r
- txt=hnd2.FirstChild("Type").FirstChild().ToText();\r
- if(txt)\r
- {\r
- type=SanitizeSingleString(txt->ValueStr());\r
- }\r
-\r
- if(type=="Keyed")\r
- {\r
- txt=hnd2.FirstChild("Identity").FirstChild().ToText();\r
- if(txt)\r
- {\r
- identity=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd2.FirstChild("Date").FirstChild().ToText();\r
- if(txt)\r
- {\r
- date=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd2.FirstChild("Index").FirstChild().ToText();\r
- if(txt)\r
- {\r
- tempstr=SanitizeSingleString(txt->ValueStr());\r
- StringFunctions::Convert(tempstr,index);\r
- }\r
- node2=hnd2.FirstChild("Boards").FirstChild("Board").ToNode();\r
- while(node2)\r
- {\r
- if(node2->FirstChild())\r
- {\r
- std::string boardname=SanitizeSingleString(node2->FirstChild()->ValueStr());\r
- StringFunctions::LowerCase(boardname,boardname);\r
- boards.push_back(boardname);\r
- }\r
- node2=node2->NextSibling("Board");\r
- }\r
- m_externalmessages.push_back(externalmessage("Keyed",identity,date,index,boards));\r
- }\r
-\r
- node=node->NextSibling("ExternalMessage");\r
- }\r
-\r
- return true;\r
- }\r
- else\r
- {\r
- return false;\r
- }\r
- */\r
}\r