使用c ++解析tinyXML xml而不使用xml文件

时间:2011-05-19 18:28:08

标签: c++ tinyxml

我试图从这样的消息中解析xml:

char * data = message.c_str ();

如何使用字符串或char数组数据创建xmlDoc,这意味着没有xml文件?

2 个答案:

答案 0 :(得分:4)

我认为您可以通过TiXmlDocument中的Parse方法执行此操作。如下所示:

TiXmlDocument doc;
doc.Parse((const char*)data, 0, TIXML_ENCODING_UTF8);

答案 1 :(得分:2)

您可以使用std::istream& operator >> (std::istream& in, TiXmlNode& base);中定义的tinyxml.h函数:

  

C ++样式输入:

     

基于std::istream operator>>

     

从流中读取XML,制作它   对网络传输很有用。该   棘手的部分是知道什么时候XML   文件是完整的,因为会有   几乎肯定是其他数据   流。 TinyXML将采用XML   数据读完后就完成了   根元素。换一种方式,   文件构造不良   有多个根元素会   没有正确阅读。另请注意   运营商GT;>有点慢   解析,由于两者的实现   STL和TinyXML的局限性。