我知道如何仅使用XercesDOMParser从xml文件创建完整的dom:

xercesc::XercesDOMParser parser = new xercesc::XercesDOMParser();
parser->parse(path_to_my_file);
parser->getDocument(); // From here on I can access all nodes and do whatever i want

好吧,那行得通……但是,如果我想解析一个字符串怎么办?就像是
std::string myxml = "<root>...</root>";
xercesc::XercesDOMParser parser = new xercesc::XercesDOMParser();
parser->parse(myxml);
parser->getDocument(); // From here on I can access all nodes and do whatever i want

我正在使用版本3。在AbstractDOMParser中,我看到该解析方法及其重载版本,仅解析文件。

如何从字符串中解析?

最佳答案

创建一个 MemBufInputSource parse :

xercesc::MemBufInputSource myxml_buf(myxml.c_str(), myxml.size(),
                                     "myxml (in memory)");
parser->parse(myxml_buf);

09-25 18:36