2011-08-01 8 views
1

複数の空白を一重に凝縮する方法/ここで空白をすべて削除する方法はありますか?次のソースコードとサンプル入力を参照してください。libxml2 HTMLParserを使用してHTMLをTEXTに変換する際にBLANKスペースを削除する方法

void walkTree(xmlNode * a_node) { 
      xmlNode *cur_node = NULL; 
      for (cur_node = a_node; cur_node; cur_node = cur_node->next) { 
      if (cur_node->type == XML_TEXT_NODE) { 
       printf("%s", cur_node->content); 
      } 
      walkTree(cur_node->children); 
      } 
     } 

void main() { 
    htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, 0); 
    htmlCtxtUseOptions(parser, HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | HTML_PARSE_NOWARNING | HTML_PARSE_NONET); 
    len = ReadFile(data); 
    htmlParseChunk(parser, data, len, 0); 
    walkTree(xmlDocGetRootElement(parser->myDoc)); 
} 



input: "<table><tbody><tr><td><b>Updated by:</b>      </td><td >Test</td></tr></tbody></table><br/>" 


output: "Updated by:     Test" 

ありがとうございます。

答えて

0

この機能を使用してみてください:

str.erase(remove_if(str.begin(), str.end(), isspace), str.end()); 
関連する問題