Я надеюсь, что кто-то здесь имеет некоторые знания по использованию 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_data является std::string
содержащий мой пакет XML, включая исходные данные и MySaxHandler
Здесь я сохраняю несколько интересующих меня тегов. Конечно, я могу пропустить, пока не найду начало XML, но это не тот ответ, на который я надеялся.
Задача ещё не решена.
Других решений пока нет …