std::string CQueryUtil::nodeText(GumboNode *apNode) { std::string text; writeNodeText(apNode, text); return text; }
void CQueryUtil::writeNodeText(GumboNode* apNode, std::string& aText) { switch (apNode->type) { case GUMBO_NODE_TEXT: aText.append(apNode->v.text.text); break; case GUMBO_NODE_ELEMENT: { GumboVector children = apNode->v.element.children; for (unsigned int i = 0; i < children.length; i++) { GumboNode* child = (GumboNode*) children.data[i]; writeNodeText(child, aText); } break; } default: break; } }