您的位置:首页 > 编程语言 > C语言/C++

关于HtmlCxx对,C++ 解析,编辑,重新生成HTML的

2016-07-06 09:17 633 查看
关于使用方法,请看文档
http://www.cnblogs.com/shenlian/archive/2012/12/10/2811931.html
针对于Html的解析,请看文档
http://blog.csdn.net/youfangyuan/article/details/7816518
已经讲解的很详细的,我就不再撰述。

接下来要将就是针对这个里面对html文档的编辑和修改,修改完后重新生成html。

1.添加节点实例

//使用解析器写入Html文档
HTML::ParserDom parser ;
tree<HTML::Node> dom = parser.parseTree(html);
for(tree<HTML::Node>::iterator it=dom.begin();it!=dom.end();++it)
{
if("tbody"==it->tagName())// && "goaler"==it->attribute("id").second
{
HTML::Node tdNode;
tdNode.text("<td>1111");
tdNode.closingText("</td>");

dom.append_child(it,tdNode);
}
}


2.重新生成,实例

void printDomTree(tree<HTML::Node> htmlTree,string &htmlFileBuffer)
{
tree<HTML::Node>::iterator it = htmlTree.begin();
tree<HTML::Node>::sibling_iterator sibIt = htmlTree.begin(it);

while (sibIt != htmlTree.end(it))
{
htmlFileBuffer.append(sibIt->text());
printDomTree(sibIt,htmlFileBuffer);
htmlFileBuffer.append(sibIt->closingText());
++sibIt;
}
}


更新内容

在源代码上修改添加了生成html的函数。

std::string generateHtml();

项目源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: