我希望这里有人对使用 xerces-c 有所了解。我有一个包含有效 XML 数据包的字符串。然而,它有一些与 XML 无关的主要数据。是否可以让 xerces-c SAXParser 忽略任何前导数据并简单地解析它找到的第一个有效 XML?我正在使用非常简单的设置,甚至没有使用 DTD,如下所示:
SAXParser* lp_parser(0);
MySaxHandler l_handler;
lp_parser->setDocumentHandler((DocumentHandler *)&l_handler);
lp_parser->setDoNamespaces(false);
lp_parser->setDoNamespaces(false);
lp_parser->setDoSchema(false);
lp_parser->setValidationSchemaFullChecking(false);
MemBufInputSource lp_membuf((const XMLByte*)l_data.c_str(),
l_data.size(),
"My XML request",
false);
lp_parser->parse(lp_membuf);
l_datastd::string
包含我的 XML 数据包,包括初始数据,MySaxHandler
是我保存我感兴趣的几个标签的地方。我当然可以跳过,直到我自己找到 XML 的开头,但这不是我希望的答案。