我试图从这样的消息中解析xml:
char * data = message.c_str ();
如何使用字符串或char数组数据创建xmlDoc,这意味着没有xml文件?
答案 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的局限性。