Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Xerces从内存加载xml_C++_Xml_File_Memory_Xerces - Fatal编程技术网

C++ 使用Xerces从内存加载xml

C++ 使用Xerces从内存加载xml,c++,xml,file,memory,xerces,C++,Xml,File,Memory,Xerces,我得到了一些有用的xml数据,我想用Xerces(由代码合成生成)进行解析 在光盘上它是加密的,所以我加载它,解开它,然后。。。我被卡住了,因为Xerces只接受文件作为输入 我曾考虑过让一个“阅读器”(即std::istream或xercesc::InputSource)过载,并伪造光盘读数,但它看起来像不雅一样古怪 有没有更简单、更整洁的方法 谢谢 您可以使用类: MemBufInputSource* pMemBufIS = new MemBufInputSource((const XMLB

我得到了一些有用的xml数据,我想用Xerces(由代码合成生成)进行解析

在光盘上它是加密的,所以我加载它,解开它,然后。。。我被卡住了,因为Xerces只接受文件作为输入

我曾考虑过让一个“阅读器”(即std::istream或xercesc::InputSource)过载,并伪造光盘读数,但它看起来像不雅一样古怪

有没有更简单、更整洁的方法

谢谢

您可以使用
类:

MemBufInputSource* pMemBufIS = new MemBufInputSource((const XMLByte*)sXmlContent.c_str(), sXmlContent.length(), "SysID", false);
m_saxParser.parse(*pMemBufIS);
delete pMemBufIS;
而不是

m_saxParser.parse(sXmlFilePath.c_str());
您可以使用
类:

MemBufInputSource* pMemBufIS = new MemBufInputSource((const XMLByte*)sXmlContent.c_str(), sXmlContent.length(), "SysID", false);
m_saxParser.parse(*pMemBufIS);
delete pMemBufIS;
而不是

m_saxParser.parse(sXmlFilePath.c_str());