当前位置: 首页>>代码示例>>C++>>正文


C++ HtmlParser::parseHtml方法代码示例

本文整理汇总了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)
		  {

		  }
	 }
}
开发者ID:hcxyzlm,项目名称:Utils,代码行数:77,代码来源:HtmlLabel.cpp


注:本文中的HtmlParser::parseHtml方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。