C++ html解析库htmlcxx自封装的工具类(搜索标签)

本文介绍了如何使用htmlcxx库封装一个工具类,专注于在HTML解析过程中进行标签搜索。通过提供的头文件、类文件及测试用例,展示了该工具类的实现和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

htmlcxxC++中解析html格式数据的第三方库,这个库的特点就是快捷、轻量级。最近在使用的时候在解析html的时候,总有搜索标签的需求,所以自己封装了一个工具。

1、HtmlCxxUtils.h头文件
/**
 * HtmlCxxUtils类定义
 * 
 * @author hestyle
 * @version 1.0.0
 */
#ifndef _HTMLCXX_UTILS_
#define _HTMLCXX_UTILS_

#include "htmlcxx/include/ParserDom.h"
//导入htmlcxx.lib,请修改为你自己的路径
#pragma comment(lib,"htmlcxx/lib/htmlcxx.lib")

using namespace std;
using namespace htmlcxx;

class HtmlCxxUtils{
   
   

public:
	HtmlCxxUtils();
	~HtmlCxxUtils();
	/*
	 * 在[beginIt,endIt)寻找第index个名为tagName的标签
	 * @param beginIt   搜索起始迭代器
	 * @param endIt     搜索尾端迭代器
	 * @param tagName   需要搜索标签名
	 * @param index     符合搜索条件的第index个(默认是第1个)
	 */
	static tree<HTML::Node>::iterator selectTag(tree<HTML::Node>::iterator& beginIt, tree<HTML::Node>::iterator& endIt,
		string tagName, int index = 1);

	/*
	 * 在[beginIt,endIt)寻找第index个名为tagName的标签,并且该标签中含有名为attrName的属性、属性值为attrValue
	 * @param beginIt   搜索起始迭代器
	 * @param endIt     搜索尾端迭代器
	 * @param tagName   需要搜索标签名
	 * @param attrName  标签含有的属性名
	 * @param attrValue 标签含有的attrName属性的值
	 * @param index     符合搜索条件的第index个(默认是第1个)
	 */
	static tree<HTML::Node>::iterator selectTag(tree<HTML::Node>::iterator& beginIt, tree<HTML::Node>::iterator& endIt,
		string tagName, string attrName, string attrValue, int index = 1);
};

#endif // !_HTMLCXX_UTILS_
2、HtmlCxxUtils.cpp类文件
/**
 * HtmlCxxUtils类方法实现
 * 
 * @author hestyle
 * @version 1.0.0
 */
#include <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值