使用HTMLPaser解析HTML数据
来源:互联网 发布:黑暗之魂3低配置优化 编辑:程序博客网 时间:2024/04/23 15:10
1, 首先我们通过
ns::Data data(ns::URL(...));
得到目标得HTML文件如下:
<div id ="tab"> <ul> <li>div id ul li</li> <li>div id ul li</li> <li>div id ul li</li> </ul></div><div id ="tab"> <div id="tab2"> <ul> <li>div div id ul li</li> <li>div div id ul li</li> <li>div div id ul li</li> </ul> </div></div><div>DIV</div><li><a>NO ATTR</a></li><li><a class="cls red">HELLO</a></li><li id="abc">ID</li><li id="abc" class="blue">ID CLASS</li><li style="#a1:.">style a1</li><li style="a2">style a2</li>
2,普通得处理方式可能就是通过HTML解析器器遍历所有节点,挨个判断找出目标数据。或者通过正则表达式进行字符串分析,得到数据。这些方法存在逻辑复杂和 难以写出高效稳定的正则表达式的问题。
3, 在WSI中,我们可以通过 ::wsi::html::Document 类进行类似HTML解析器的分析工作。并且,::wsi::html::Document 提供 JQuery 的查询功能,可以利用 JQuery 语法,快速稳定查找出目标节点。
4, JQuery 语法: HTML标签.CSS类[属性=”值”] HTML标签.CSS类[属性=”值”] ....
说明: 父标签 子标签
5, 例子:
::wsi::html::Document doc(::wsi::core::type_cast<::wsi::core::data>(data)); // 转换NSData到C++支持的core::data 类。然后打开文档。
如果需要得到 <li><a class="cls red">HELLO</a></li> 节点::wsi::html::Document::query_result result; // 查询的结果会以 ::wsi::html::Element* 的指针形式保存在result中。 doc.jquery(“li a.red”, result);此时就可以对result进行处理。::wsi::html::Node const* node = (::wsi::html::Node const*)result[0];ns::String str = node->value(); // 得到 HELLO
- 使用HTMLPaser解析HTML数据
- HTMLPaser使用详解
- 使用lxml解析HTML数据
- 使用Jsoup解析html数据
- 46.使用Jsoup解析html获取数据
- java 读取html写入excel (htmlpaser,jxl)
- ios html数据解析
- iOS 解析HTML数据
- 【数据抓取】HTML解析
- 解析html数据
- android使用Jsoup进行html数据解析简单实例浅析
- android使用Jsoup进行html数据解析简单实例浅析
- HTMLPaser浅析
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HtmlParser解析HTML
- 使用HotSAX解析html
- Java AWT 布局管理器 练习代码
- https://sourceforge.net/p/libwsi/wiki libwsi iOS移动开发解决方案
- C++中* (星号) 与取址 介绍
- 在 WSI 中使用 C++ 开发 iOS 应用
- 小议Post与Get方法提交
- 使用HTMLPaser解析HTML数据
- openapi 新浪微薄分享
- 黑马程序员_建立一个文本框 一个文本区域 一个按钮 文本框只能输入数字 并通过按钮 转换到文本区域
- Windows 7如何设置共享文件?
- 使用 ButtonGroup 来管理不同状态的 Button 按钮组
- WSI C++ iOS软件开发 - 建立工程步骤
- hibernate注解默认值
- NavigationController 设置 TopBar背景填充
- ISO 14443 Type A卡的交互过程