本文整理汇总了C++中HtmlParser::parseHtml方法的典型用法代码示例。如果您正苦于以下问题:C++ HtmlParser::parseHtml方法的具体用法?C++ HtmlParser::parseHtml怎么用?C++ HtmlParser::parseHtml使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlParser
的用法示例。
在下文中一共展示了HtmlParser::parseHtml方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseHtmlText
void HtmlLabel::parseHtmlText(string strHtmlText)
{
using namespace liigo;
HtmlParser htmlParser;
htmlParser.parseHtml(strHtmlText.c_str());
for(int index = 0, count = htmlParser.getHtmlNodeCount(); index < count; index++)
{
HtmlNode* pNode = htmlParser.getHtmlNode(index);
if (pNode->type == NODE_START_TAG)
{
switch (pNode->tagType)
{
case TAG_FONT:
{
ccColor3B contentColor = ccBLACK;
int nSize = 20;
if(pNode->attributeCount>0)
{
string strColor=HtmlParser::getAttributeStringValue(pNode,"color","#000000");
string strSize = HtmlParser::getAttributeStringValue(pNode,"size","20");
if(strColor!="")
{
contentColor = getColor(strColor);
}
if (strSize!= "")
{
nSize = atoi(strSize.c_str());
}
}
index++;
liigo::HtmlNode* nextNode = htmlParser.getHtmlNode(index);
if(nextNode->type==NODE_CONTENT)
{
std::string content=nextNode->text;
HtmlRichElementText* htElem = HtmlRichElementText::create(m_nElementTag, contentColor, 255,content.c_str(), "Helvetica", nSize);
m_htmlText->pushBackElement(htElem);
m_nElementTag++;
}
break;
}
case TAG_BR:
{
HtmlRichElementAddLine* htElem = HtmlRichElementAddLine::create();
m_htmlText->pushBackElement(htElem);
break;
}
case TAG_A:
{
break;
}
default:
break;
}
}
if (pNode->type == NODE_CONTENT)
{
ccColor3B contentColor = ccBLACK;
int nSize = 20;
std::string content=pNode->text;
HtmlRichElementText* htElem = HtmlRichElementText::create(m_nElementTag, contentColor, 255,content.c_str(), "Helvetica", nSize);
m_htmlText->pushBackElement(htElem);
m_nElementTag++;
}
if (pNode->type == NODE_END_TAG)
{
}
}
}