コード例 #1
0
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()));
        }
    }
}
コード例 #2
0
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));
            }
        }
    }             
}