rapidxml是一个解析xml格式的c++库,解析速度很快很快。对于大的xml文件使用的最近选择。可以参考博客。
在使用的时候如果遇到中文路径会出现错误,参考网址解决。
具体如下
setlocale(LC_ALL, "");
QString filename = QString("E:/mytest/rapidxml_test/测试.xml");
std::string strXml;
strXml.append((filename.toStdString().c_str()));
rapidxml::file<> fdoc(strXml.c_str());
setlocale(LC_ALL, "C");
rapidxml::xml_document<> doc;
doc.parse<0>(fdoc.data());
std::string strXml; 文件名赋值必须在setlocale(LC_ALL, ""); 和setlocale(LC_ALL, "C");之间,不然会错误。