-\r
-/*\r
- TiXmlDocument td;\r
- td.Parse(xml.c_str());\r
-\r
- if(!td.Error())\r
- {\r
- TiXmlHandle hnd(&td);\r
- TiXmlNode *node2;\r
- TiXmlText *txt;\r
-\r
- Initialize();\r
-\r
- txt=hnd.FirstChild("Message").FirstChild("Date").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_date=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd.FirstChild("Message").FirstChild("Time").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_time=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd.FirstChild("Message").FirstChild("Subject").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_subject=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd.FirstChild("Message").FirstChild("MessageID").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_messageid=SanitizeSingleString(txt->ValueStr());\r
- }\r
- txt=hnd.FirstChild("Message").FirstChild("ReplyBoard").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_replyboard=SanitizeSingleString(txt->ValueStr());\r
- StringFunctions::LowerCase(m_replyboard,m_replyboard);\r
- if(m_replyboard.size()>40)\r
- {\r
- m_replyboard.erase(40);\r
- }\r
- }\r
- txt=hnd.FirstChild("Message").FirstChild("Body").FirstChild().ToText();\r
- if(txt)\r
- {\r
- m_body=txt->ValueStr();\r
- }\r
-\r
- node2=hnd.FirstChild("Message").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
- if(boardname.size()>40)\r
- {\r
- boardname.erase(40);\r
- }\r
- m_boards.push_back(boardname);\r
- }\r
- node2=node2->NextSibling("Board");\r
- }\r
-\r
- node2=hnd.FirstChild("Message").FirstChild("InReplyTo").FirstChild("Message").ToNode();\r
- while(node2)\r
- {\r
- std::string orderstr;\r
- long order=-1;\r
- std::string messageid="";\r
- TiXmlHandle hnd2(node2);\r
- txt=hnd2.FirstChild("Order").FirstChild().ToText();\r
- if(txt)\r
- {\r
- orderstr=SanitizeSingleString(txt->ValueStr());\r
- StringFunctions::Convert(orderstr,order);\r
- }\r
- txt=hnd2.FirstChild("MessageID").FirstChild().ToText();\r
- if(txt)\r
- {\r
- messageid=SanitizeSingleString(txt->ValueStr());\r
- }\r
-\r
- if(order!=-1 && messageid!="")\r
- {\r
- m_inreplyto[order]=messageid;\r
- }\r
-\r
- node2=node2->NextSibling("Message");\r
- }\r
-\r
- node2=hnd.FirstChild("Message").FirstChild("Attachments").FirstChild("File").ToNode();\r
- while(node2)\r
- {\r
- std::string key="";\r
- std::string sizestr="-1";\r
- int size=-1;\r
-\r
- TiXmlHandle hnd2(node2);\r
-\r
- txt=hnd2.FirstChild("Key").FirstChild().ToText();\r
- if(txt)\r
- {\r
- key=SanitizeSingleString(txt->ValueStr());\r
- }\r
-\r
- txt=hnd2.FirstChild("Size").FirstChild().ToText();\r
- if(txt)\r
- {\r
- sizestr=SanitizeSingleString(txt->ValueStr());\r
- StringFunctions::Convert(sizestr,size);\r
- }\r
-\r
- if(key!="" && size>0)\r
- {\r
- m_fileattachments.push_back(fileattachment(key,size));\r
- }\r
-\r
- node2=node2->NextSibling("File");\r
- }\r
-\r
- return true;\r
- }\r
- else\r
- {\r
- return false;\r
- }\r
- */\r