是否可以在字节流而不是文件上使用TinyXML?
请考虑以下代码段:
TiXmlDocument doc("abc.xml");
if (!doc.LoadFile())
return;
TiXmlHandle hDoc(&doc);
上面的代码片段将文件作为输入。如何修改代码以使其接受字节流?示例代码段非常棒!
答案 0 :(得分:3)
使用TinyXmlDocument::Parse
终止的字节流作为第一个参数直接调用NULL
。 (参见TinyXmlDocument::LoadFile
关于如何调用此函数的实现。)
答案 1 :(得分:1)
在使用STL支持编译TinyXML后,您可以使用>> TiXmlNode基类中定义的运算符:
std::istream& operator>> (std::istream & in, TiXmlNode & base)
作为一个工作的例子:
std::istream & stream = /*your stream here*/;
TiXmlDocument xmlDoc;
stream >> xmlDoc;
来自TinyXML documentation的参考:
可以编译TinyXML以使用或不使用STL。使用STL时,TinyXML使用std :: string类,并完全支持std :: istream,std :: ostream,operator<<<<>>。 (......) 使用编译时定义:TIXML_USE_STL