易截截图软件、单文件、免安装、纯绿色、仅160KB

Java HTML Parser应用

最近因为项目需要,研究了java html parser类库的应用。记录下使用要点:
主要的类说明:
1、Parser类
解析器主类,负责载入HTML代码并解析。
2、Node接口
用来表征在解析过程中使用的语法单元。示例如下段html代码:
<span> ----Tag node
text ----Text Node
</span>
文本和标签都是独立的node元素。text文本是标签span的child node
3、NodeFilter
标签过滤器接口,用来在parser或NodeList中过滤出需要的某一类node。
4、NodeList
数据结构,表示Node的集合
需要特别注意的地方:
Parser和NodeList都有一个名为extractAllNodesThatMatch(NodeFilter filter)的方法用来过滤出符合某个条件的node,但是其内部的实现机制不同。
Parser是在解析器的功能基础上使用Iteror实现。每次调用该方法后需要执行reset方法,否则会影响下一次调用的结果。
而NodeList是在内部的数组上进行循环判断,因此各次调用之间不会互相影响,效率也比Parser的高,土建使用。
代码示例:
实现getElementByID功能
<code>
public class NodeIDFilter implements NodeFilter {
 private String id;
 public NodeIDFilter(String id)
 {
 this.id=id;
 }
 public boolean accept(Node node) {
 if(node instanceof Tag)
 {
 if(!((Tag)node).isEndTag())
 {
 String s=((Tag)node).getAttribute("id");
 if(s!=null)
 return s.equals(this.id);
 }
 }
 return false;
 // throw new UnsupportedOperationException("Not supported yet.");
 }
}
public class MHTMLParser
{
....
protected Node getElementById(String id) throws ParserException
 {
 //this.myparser.reset();
 if(this.mNodeList==null||this.mNodeList.size()==0) return null;
 NodeIDFilter nodef = new NodeIDFilter(id);
 NodeList nl = this.mNodeList.extractAllNodesThatMatch(nodef,true);
 //
 if (nl.size() != 0)
 {
 return nl.elementAt(0);
 }
 return null;
 }
 
}
</code>


相关文档:

java中string与其他类型之间的互相转换

1.将Int,Float,Double,Long转换为String
String s = ""+i;
String s = String.valueOf(i);
String s = Integer.toString(i);
第一种方法:s = ""+i;   //会产生两个String对象
第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象
第三种方法:效率最高?
2.将String转换为In ......

Developing Games in Java(部分)

   原文来自于《Developing Games in Java》,作者:David Brackeen, Bret Barker, Laurence Vanhelsuwé
   Java在设计时充分考虑了线程,因此在Java中线程的操作比其他语言要简单。只需生成一个Thread类的实例便可创建一个线程,然后调用start()方法线程就启动了。
 &nbs ......

搜索结果高亮显示(不改变html标签)

一、问题的产生
  搜索结果高亮显示,在新闻标题,来源之类的地方好做,只需要用str.Replace(keyword,"<font style=\"color:red;\"" + keyword +"</font>");这样的方法就可实现。
  问题在于,在新闻内容里做搜索。其中html标签里可能含有关键字,用上面这种方法,将会替换掉html标签的部分内容,导致新闻内 ......

W3C标准的HTML标签 按功能类别排列

W3C标准的HTML标签
按功能类别排列
DTD:指示在哪种 XHTML 1.0 DTD 中允许该标签。
S=Strict,严格类型, T=Transitional,过渡类型【最普遍】, F=Frameset,框架类型.
标签成对,xhtml是比html更严格,类似XML格式
标签描述DTD
<!DOCTYPE> 
定义文档类型。
STF
<html>
定义 HTML 文档。
STF
< ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号