欢迎来到天天文库
浏览记录
ID:36494520
大小:100.00 KB
页数:6页
时间:2019-05-11
《NekoHTML技术预研说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、NekoHTML技术预研说明一、NekoHTML功能简述1二、NekoHTML的安装和环境配置11.环境要求12.下载安装1三、NekoHTML调用说明:2四、XML路径语言(XPath)3五、NekoHTML管道过滤3六、关注的问题41.对URL的处理42.css,script53.删除不需要的数据标签5参考资料6一、NekoHTML功能简述NekoHTML是一个简单地HTML扫描器和标签补偿器,使得程序能解析HTML文档并用标准的XML接口来访问其中的信息。这个解析器能投扫描HTML文件并“修正”许多作者在编写HT
2、ML文档过程中常犯的错误。NekoHTML能增补缺失的父元素、自动用结束标签关闭相应的元素,以及不匹配的内嵌元素标签。NekoHTML的开发使用了XercesNativeInterface(XNI),后者是Xerces2(一个XML文档解析开源项目)的实现基础。本文关注的是它的“解析HTML文档”和“用标准的XML接口来访问其中的信息”这两个功能点。二、NekoHTML的安装和环境配置1.环境要求Jdk1.3或更高Xerces2.0.0或更高2.下载安装从http://nchc.dl.sourceforge.net/s
3、ourceforge/nekohtml/nekohtml-1.9.6.1.zip下载当前版本,版本号为1.9.6.1下载完成后,解压nekohtml-1.9.6.1.zip,并构建一个项目。将Xerces2的JAR文件添加到项目构建路径中。注:使用nekohtml-1.9.6.1.zip自带的xercesMinimal.jar这个包时,有编译错误,本文使用的是从http://www.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.tar.gz下载的Xerces。一、NekoHTM
4、L调用说明:重要的是DOMParser这个类,示例代码如下:DOMParserparser=newDOMParser();//创建一个NekoHTML解析器parser.parse("www.sohu.com");//解析URL或HTML文档parser.getDocument();//获得一个标准的W3CDOM对象。得到Document对象之后,就可以对它进行XML解析了。转换时需关注的:Ø被转换的HTML页面编码需为GBKØ转换后得到的W3CDOM对象的所有标签都都会转换为大写,但标签的属性不适用此特性。如:5、bleclass="data"id="pieChart">标签会在转换后变为ØNekoHTML的配置为了更加精确的控制解析的动作,nekohtml提供了相应的设置函数。如下列://settingsonHTMLConfigurationorg.apache.xerces.xni.parser.XMLParserConfigurationconfig=neworg.cyberneko.html.HTMLConfiguration();config.setFea6、ture("http://cyberneko.org/html/features/augmentations",true);config.setProperty("http://cyberneko.org/html/properties/names/elems","lower");//settingsonDOMParserorg.cyberneko.html.parsers.DOMParserparser=neworg.cyberneko.html.parsers.DOMParser();parser.setFeatu7、re("http://cyberneko.org/html/features/augmentations",true);parser.setProperty("http://cyberneko.org/html/properties/names/elems","lower");具体的参数配置参见HTML的解析。一、XML路径语言(XPath)XPath是一种用于对XML文档的元件寻址的一种语言。适用Xpath可以方便的对DOM模型中的元素进行定位。Xerces2中提供了对Xpath的支持。另外使用nekoHTML转换后8、,得到的DOM模型与DOM4J使用的DOCUMENT不一样,所以不能使用DOM4J来搜索DOM中的元素XPath表达式使用路径表示法(与URL中使用的路径表示法类似)寻址XML文档的各个部分。Xpath表达式样例:/bookstore,//author,//TABLE[@id='pieChart']具体的语法见Xpath语法示例代
5、bleclass="data"id="pieChart">标签会在转换后变为ØNekoHTML的配置为了更加精确的控制解析的动作,nekohtml提供了相应的设置函数。如下列://settingsonHTMLConfigurationorg.apache.xerces.xni.parser.XMLParserConfigurationconfig=neworg.cyberneko.html.HTMLConfiguration();config.setFea
6、ture("http://cyberneko.org/html/features/augmentations",true);config.setProperty("http://cyberneko.org/html/properties/names/elems","lower");//settingsonDOMParserorg.cyberneko.html.parsers.DOMParserparser=neworg.cyberneko.html.parsers.DOMParser();parser.setFeatu
7、re("http://cyberneko.org/html/features/augmentations",true);parser.setProperty("http://cyberneko.org/html/properties/names/elems","lower");具体的参数配置参见HTML的解析。一、XML路径语言(XPath)XPath是一种用于对XML文档的元件寻址的一种语言。适用Xpath可以方便的对DOM模型中的元素进行定位。Xerces2中提供了对Xpath的支持。另外使用nekoHTML转换后
8、,得到的DOM模型与DOM4J使用的DOCUMENT不一样,所以不能使用DOM4J来搜索DOM中的元素XPath表达式使用路径表示法(与URL中使用的路径表示法类似)寻址XML文档的各个部分。Xpath表达式样例:/bookstore,//author,//TABLE[@id='pieChart']具体的语法见Xpath语法示例代
此文档下载收益归作者所有