如何使用 c++ 仅查找特定 HTML 标记的内容?

Posted

技术标签:

【中文标题】如何使用 c++ 仅查找特定 HTML 标记的内容?【英文标题】:How to find only the content of a specific HTML tag using c++? 【发布时间】:2016-04-04 13:50:22 【问题描述】:

我正在编写一个程序,其中string 我有一个HTML 页面 的代码。现在,我需要获取<article> 标记之间的文本。我的html页面包含多个article标签,所以我需要获取不同article标签的文本

文章标签的一个例子是:

<article class="item" data-recipe="119726">
        <a class="loopimg pvideo" href="http://www.cookaround.com/ricetta/pasta-frolla-4.html" title="Leggi: Pasta frolla"><img src="http://cdn.cook.stbm.it/thumbnails/ricette/119/119726/hd400x225.jpg"  /></a>
        <h3><a href="http://www.cookaround.com/ricetta/pasta-frolla-4.html" title="Leggi: Pasta frolla">Pasta frolla</a></h3>
        <ul><li>Difficoltà <span>bassa</span></li><li class="costo">Costo <span>basso</span></li><li>Realizzazione <span>10 min</span></li></ul>
    </article>

所以,我需要获取每个文章标签title="Leggi: Pasta frolla",其中title对于每个标签都是不同的。

如何使用 c++ 做到这一点?

【问题讨论】:

你试过std::string::findstd::string::substring吗? 但是对于多个文章标签?我的文章标签数量未定义@NathanOliver 将查找作为while循环的条件。 @NathanOliver 怎么样?哪个变量? 【参考方案1】:

我会推荐使用Boost,一个非常强大的库。

也许你看看这个问题 Parsing XML Attributes with Boost,应该可以解决你的问题。

【讨论】:

如何在 Visual Studio 2015 中添加 Boost? @Cr3at0rX 在谷歌上的快速搜索给了我这个link 但如果没有 xml 文件而是包含 html 代码的字符串?但是感谢链接@Cr3at0rX 使用搜索功能即可。 ***.com/questions/5289086/… 我尝试使用它,但是...如果我读取包含整个 html 代码的字符串,我会显示此错误:expected = 有什么问题? @Cr3at0rX

以上是关于如何使用 c++ 仅查找特定 HTML 标记的内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅搜索 HTML 列表中的特定跨度标记而不搜索所有列表项? (jQuery)

如何在 Javascript 中获取 HTML 标记内的内容(仅)到单级?

C++如何搜索出该程序目录下所有特定后缀名的文件?

如何创建仅允许访问 C++ 中的特定用户帐户的手动重置事件?

如何使用特定符号 C++ 查找和替换字符串中的所有字符

MediaWiki怎么标记需要翻译的内容?