html解析庫 htmlcxx 應用執行個體

來源:互聯網
上載者:User

因工作需要解析html,但本人又不想使用微軟的 DomApi,所以到網上去找了一把開源庫,發現幾個比較好的

    比如 html tidy,和htmlcxx庫等。可以用的很多,不再贅述,貼上寫htmlcxx的應用例子:

   解析特定的文本段落

    std::string strHtml = "<font size=\"-1\" color=#808080>dddddd 加入了對話</font>";

    htmlcxx::HTML::ParserDom parser ;
    tree<htmlcxx::HTML::Node> dom = parser.parseTree(strHtml) ;

   

    tree<htmlcxx::HTML::Node>::iterator it = dom.begin();
    tree<htmlcxx::HTML::Node>::iterator end = dom.end();
    for ( ; it != end ; ++ it)
    {
        std::string strText;
        if (it->isComment())
            continue ;

        if (it->isTag())
        {
            it->parseAttributes();
           if(it->tagName() == "font")
           {
              std::pair<bool, std::string> Size = it->attribute("size");
              std::pair<bool, std::string> Color = it->attribute("color");
              
              std::string strSize = Size.second;
              std::string strColor = Color.second;
           }
        }
    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.