#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();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型