parser(htmlparser是怎么个用法..)

本文目录
- htmlparser是怎么个用法..
- msxml 4.0 sp3 parser到底是个什么
- 什么是lexer,什么是parser,lexer和parser之间的关系
- 在添加或删除程序里msxml 4.0 sp3 parser(KB2721691)可以删除吗
htmlparser是怎么个用法..
HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索。对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用,基本你的各种需求都可以满足。
这里我根据自己这几个月来的经验,写了一点入门的东西,希望能对新学习HTMLParser的朋友们有所帮助。(不过当年高考本人语文只比及格高一分,所以文法方面的问题还希望大家多多担待)
HTMLParser的核心模块是org.htmlparser.Parser类,这个类实际完成了对于HTML页面的分析工作。这个类有下面几个构造函数:
public Parser ();
public Parser (Lexer lexer, ParserFeedback fb);
public Parser (URLConnection connection, ParserFeedback fb) throws ParserException;
public Parser (String resource, ParserFeedback feedback) throws ParserException;
public Parser (String resource) throws ParserException;
public Parser (Lexer lexer);
public Parser (URLConnection connection) throws ParserException;
和一个静态类public static Parser createParser (String html, String charset);
对于大多数使用者来说,使用最多的是通过一个URLConnection或者一个保存有网页内容的字符串来初始化Parser,或者使用静态函数来生成一个Parser对象。ParserFeedback的代码很简单,是针对调试和跟踪分析过程的,一般不需要改变。而使用Lexer则是一个相对比较高级的话题,放到以后再讨论吧。
这里比较有趣的一点是,如果需要设置页面的编码方式的话,不使用Lexer就只有静态函数一个方法了。对于大多数中文页面来说,好像这是应该用得比较多的一个方法。
msxml 4.0 sp3 parser到底是个什么
msxml是微软推出的xml语言解析器,用来解析所有由微软软件生成的xml标准文档
msxml
4.0
sp3
parser是一个最新的版本
什么是lexer,什么是parser,lexer和parser之间的关系
1.参考:
Lexical analysis
了解到。
输入:一堆字符,即我们写的语法代码,一个文件,也就是一堆字符;
经过lexer处理;
输出:一系列的token,相当于一堆的变量或者说符号;
lexer也被叫做:
lexical analyzer
scanner
2.后来参考:
【资料下载】ANTLR的最全的官方文档:The Definitive ANTLR Reference:v2,v3,v4版本都有下载
去找到了antlr v3的文档。
看其解释,更加深入了解到了一些内容:
(1)lexer和parser的语法是相同的,但是内部含义不同。
即,最好是自己真正搞懂内部,底层所涉及的含义如何。
即,写了个语法,要知道真正的含义。
(2)Lexer的rule,是以大写字母开头的。
比如:
?
1
ID : (’a’..’z’ |’A’..’Z’ |’_’ ) (’a’..’z’ |’A’..’Z’ |’_’ |’0’..’9’ )* ;
所以,自己去antlrworks中,把之前的某个,小写字母开头的规则,从小写:
改为大写后,antlrworks中,果然就识别出不同效果,从parser变成lexer了:
3. 为了区别rule所生成的方法,antlr会给生成的id前加m。
比如,上面的ID所生成的方法叫做mID()
4.parser有起始符号,start symbol(类似于入口函数);
lexer没有start symbol。
5.lexer的语法,其实,就是一堆的符号定义(token definition)
每个token,都是,针对于输入的内容,全局性的,任何时刻都试用,都去匹配的。
内部机制:
antlr生成一个nextToken()的方法,其中就是个大的switch结构,将输入的内容,匹配到对应的类型的token后,即路由到某个lexer的rule,就去调用对应的rule去处理。
6.不论对于lexer还是parser,其中的大的rule,都最好拆分为小的rule。
目的:使得程序可读性增加,重用性增加。
7.antlr默认所有的token都是有效(valid)的。
如果你打算某个规则,只是起到帮助作用,即helper rule,那么就应该加上对应的fragment前缀。
在添加或删除程序里msxml 4.0 sp3 parser(KB2721691)可以删除吗
msxml
4.0
sp3
parser是系统更新过来的,新装系统可能没有这个程序包。代号为
(kb973685)。
如果是用xml程序开发的才可能用到这个。。一般用户不怎么可能用到这个程序包,建议不要删除。。
追问:
那xml有什么用、?
回答:
msxml
指微软的xml语言解析器,用来解释xml语言的。就好像html文本下再到本地,浏览器会检查html的语法,解释html文本然后显示出来一样。要使用xml文件就一定要用到xml
parser。不过不仅仅微软有,像ibm,sun都有自己的xml
parser。
msxml
包含
sdk
软件开发套件,这是微软公司所释出的,安装过「神话世纪」的朋友就会知道,它已经被应用于最新的游戏。
那么,什么是
msxml
呢?它的全名是:「microsoft
xml
core
services」,主要是用来执行或开发经由
xml
所设计的最新应用程序。
微软正式发布了其xml的核心服务组件---msxml
4.0。和msxml
3.0相比,msxml
4.0提供了大量的新功能和功能改进。其中包括:对xml模式语言的支持,更快的分析器和xslt引擎,对xml流更好的处理,更好的一致性支持。msxml
4.0并不是msxml
3.0的替代产品,因为在3.0中的一些过时功能已经在4.0中彻底去除了。所以4.0可以和3.0(甚至更早的版本)同时安装。
msxml
4.0
service
pack
2
(sp2)是msxml
4.0和msxml
4.0
service
pack
1
(sp1)的完全取代版本。它提供了大量的安全和程序错误修复。
msxml
4.0
sp2并不能取代msxml
3.0,因为它已不再支持一些旧的以及不一致的功能。所以用户可能必须同时运行msxml
4.0和msxml
3.0或更前版本。

更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40





