void TrecDocumentProcessorTestCase::makeAnswer(const std::string& str, Answer& ans) { XMLDocumentWrapper xmlDoc; xmlDoc.parse(str); for (XMLNodeWrapperPtr pDocNode = xmlDoc.firstNode(); pDocNode; pDocNode = pDocNode->nextSibling()) { for (XMLNodeWrapperPtr pChildNode = pDocNode->firstNode(); pChildNode; pChildNode = pChildNode->nextSibling()) { ans.push_back(make_pair(pChildNode->getName(), pChildNode->getValue())); } } }
void StandardDocumentProcessorTestCase::makeAnswer(const std::string& str, Answer& ans) { StringTokenizer st(str, "\n", StringTokenizer::TOKEN_IGNORE_EMPTY); for (size_t i = 0; i < st.getNumTokens(); ++i) { StringTokenizer st2(st[i], "\n", StringTokenizer::TOKEN_IGNORE_EMPTY); for (size_t j = 1; j < st2.getNumTokens(); ++j) { StringTokenizer st3(st2[j], "=", StringTokenizer::TOKEN_IGNORE_EMPTY); string sVal = st3[1].substr(0, st3[1].length() - 1); if (!sVal.empty()) { ans.push_back(make_pair(st3[0], sVal)); } } } }