我知道如何仅使用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);