用户体验设计理念与技术网站 - 探索 · 分享 · 收获     注册账号 忘记密码 QQ一键登录

用户体验设计学院|UED学院

当前位置: 首页 > 脚本技术 > html/CSS >

HTML和CSS的C++解析器 htmlcxx

时间:2011-04-28 23:10来源:开源中国社区 作者:佚名 阅读:
htmlcxx 是一个 C++ 的 HTML 解析器和 CSS1 的解析器。The parsing politics attempt to mimic the behavior of Mozilla Firefox, so you should expect parse trees similar to those created by Firefox. However, it does not insert nonexistent stuff i

htmlcxx 是一个 C++ 的 HTML 解析器和 CSS1 的解析器。The parsing politics attempt to mimic the behavior of Mozilla Firefox, so you should expect parse trees similar to those created by Firefox. However, it does not insert nonexistent stuff in your HTML. Therefore, serializing the DOM tree gives exactly the same output as the original HTML document. Another key feature is an STL-like tree navigation API provided by the tree.hh template library.

示例代码:

  #include <htmlcxx/html/ParserDom.h>
...

//Parse some html code
string html = "<html><body>hey</body></html>";
HTML::ParserDom parser;
tree<HTML::Node> dom = parser.parseTree(html);

//Print whole DOM tree
cout << dom << endl;

//Dump all links in the tree
tree<HTML::Node>::iterator it = dom.begin();
tree<HTML::Node>::iterator end = dom.end();
for (; it != end; ++it)
{
if (it->tagName() == "A")
{
it->parseAttributes();
cout << it->attributes("href");
}
}

//Dump all text of the document
it = dom.begin();
end = dom.end();
for (; it != end; ++it)
{
if ((!it->isTag()) && (!it->isComment()))
{
cout << it->text();
}
}


授权协议: LGPL
开发语言: C/C++
操作系统: 跨平台 
收录时间: 2010年04月20日

(责任编辑:uedtech。本文版权归作者所有,转载请注明来自UED学院,并保留原文作者与链接!)
顶一个
(1)
50%
踩一个
(1)
50%
------分隔线----------------------------
推荐内容
  • 需要注意的15个css样式写法

    1、不要使用过小的图片做背景平铺。这就是为何很多人都不用 1px 的原因,这才知晓。宽...

  • IE7和IE8的CSS样式八大差异

    你对IE7和IE8的CSS样式八大差异是否了解,这里和大家分享一下,IE7所设计的网页,在IE...

  • HTML优化

    在前段领域中,对Javascript和CSS的优化一直是大家关注的焦点,相应的压缩优化工具也...

  • 高效整洁CSS代码原则

    CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍...