代码拉取完成,页面将自动刷新
#include "cpps_htmlparser_element.h"
namespace cpps
{
cpps_htmlparser_element::cpps_htmlparser_element()
{
}
cpps_htmlparser_element::~cpps_htmlparser_element()
{
}
std::string cpps_htmlparser_element::attr(std::string k)
{
return element->GetAttribute(k);
}
cpps::cpps_value cpps_htmlparser_element::children(C *c,std::string k)
{
std::shared_ptr<HtmlElement> ele = element->GetElementById(k);
if (!ele) return nil;
cpps_htmlparser_element* ret_ele;
cpps_value ret;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ret);
ret_ele->element = ele;
return ret;
}
cpps::cpps_value cpps_htmlparser_element::childrens_by_classname(C* c, std::string k)
{
std::vector<std::shared_ptr<HtmlElement>> eles;
element->GetElementByClassName(k,eles);
cpps_vector* ret_vct;
cpps_value ret;
newclass< cpps_vector>(c, &ret_vct,&ret);
for (auto& ele : eles) {
cpps_htmlparser_element* ret_ele;
cpps_value ele_val;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ele_val);
ret_ele->element = ele;
ret_vct->push_back(ele_val);
}
return ret;
}
cpps::cpps_value cpps_htmlparser_element::childrens_by_tagname(C* c, std::string k)
{
std::vector<std::shared_ptr<HtmlElement>> eles;
element->GetElementByTagName(k, eles);
cpps_vector* ret_vct;
cpps_value ret;
newclass< cpps_vector>(c, &ret_vct,&ret);
for (auto& ele : eles) {
cpps_htmlparser_element* ret_ele;
cpps_value ele_val;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ele_val);
ret_ele->element = ele;
ret_vct->push_back(ele_val);
}
return ret;
}
cpps::cpps_value cpps_htmlparser_element::childrens(C* c)
{
std::vector<std::shared_ptr<HtmlElement>> eles;
element->GetAllElement(eles);
cpps_vector* ret_vct;
cpps_value ret;
newclass< cpps_vector>(c, &ret_vct,&ret);
for (auto& ele : eles) {
cpps_htmlparser_element* ret_ele;
cpps_value ele_val;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ele_val);
ret_ele->element = ele;
ret_vct->push_back(ele_val);
}
return ret;
}
cpps::cpps_value cpps_htmlparser_element::select(C* c, std::string rule)
{
std::vector<std::shared_ptr<HtmlElement>> eles;
element->SelectElement(rule,eles);
cpps_vector* ret_vct;
cpps_value ret;
newclass< cpps_vector>(c, &ret_vct,&ret);
for (auto& ele : eles) {
cpps_htmlparser_element* ret_ele;
cpps_value ele_val;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ele_val);
ret_ele->element = ele;
ret_vct->push_back(ele_val);
}
return ret;
}
cpps::cpps_value cpps_htmlparser_element::parent(C* c)
{
std::shared_ptr<HtmlElement> ele = element->GetParent();
if (!ele) return nil;
cpps_htmlparser_element* ret_ele;
cpps_value ret;
newclass<cpps_htmlparser_element>(c, &ret_ele,&ret);
ret_ele->element = ele;
return ret;
}
std::string cpps_htmlparser_element::value()
{
return element->GetValue();
}
std::string cpps_htmlparser_element::name()
{
return element->GetName();
}
std::string cpps_htmlparser_element::text()
{
return element->text();
}
std::string cpps_htmlparser_element::html()
{
return element->html();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。