Java HTML ParserÓ¦ÓÃ
×î½üÒòΪÏîÄ¿ÐèÒª£¬Ñо¿ÁËjava html parserÀà¿âµÄÓ¦Ó᣼ǼÏÂʹÓÃÒªµã£º
Ö÷ÒªµÄÀà˵Ã÷£º
1¡¢ParserÀà
½âÎöÆ÷Ö÷À࣬¸ºÔðÔØÈëHTML´úÂë²¢½âÎö¡£
2¡¢Node½Ó¿Ú
ÓÃÀ´±íÕ÷ÔÚ½âÎö¹ý³ÌÖÐʹÓõÄÓï·¨µ¥Ôª¡£Ê¾ÀýÈç϶Îhtml´úÂ룺
<span> ----Tag node
text ----Text Node
</span>
Îı¾ºÍ±êÇ©¶¼ÊǶÀÁ¢µÄnodeÔªËØ¡£textÎı¾ÊDZêÇ©spanµÄchild node
3¡¢NodeFilter
±êÇ©¹ýÂËÆ÷½Ó¿Ú£¬ÓÃÀ´ÔÚparser»òNodeListÖйýÂ˳öÐèÒªµÄijһÀànode¡£
4¡¢NodeList
Êý¾Ý½á¹¹£¬±íʾNodeµÄ¼¯ºÏ
ÐèÒªÌØ±ð×¢ÒâµÄµØ·½£º
ParserºÍNodeList¶¼ÓÐÒ»¸öÃûΪextractAllNodesThatMatch(NodeFilter filter)µÄ·½·¨ÓÃÀ´¹ýÂ˳ö·ûºÏij¸öÌõ¼þµÄ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Ò²½«½ü¿ìÁ½ÄêµÄʱ¼äÁË£¬Ö®Ç°Ñ§¹ýµÄ¶«Î÷×Ô¼º¸Ð¾õÓеãÄ£ºý£¬ÀíÂÛÕÆÎյIJ»ÊǺÜ͸³¹£¬ÓÐЩÎÊÌâ½â¾öµÄÒ²²»ÊǺÜÈ«Ãæ£¬Îª´ËÔÚ´óѧ±ÏҵǰϦ£¬Ïë°Ñ֪ʶºÃºÃµÄÊáÀíһϣ¬°Ñ×Ô¼º¶Ô¼¼ÊõµÄÒɵãºÍһЩÑо¿ÐĵÃдµ½csdn²©¿ÍÉÏ¡£ ......
javaÉú³ÉÑéÖ¤Âë
ÓкܶàÖÖ·½Ê½£¬ÔÚÍøÉÏÒ²Óкܶà´úÂ룬µ«ÊÇÄÇЩÉú³ÉµÄЧ¹û£¬¸Ð¾õ¶¼²»ÊÇÌØ±ðºÃ£¬ËùÒÔÎÒÔÚËûÃǵĻù´¡ÉϸÄÁ¼ÁËһЩ¡£
µ«ÄÜ»¹¿ÉÒÔÓÃjmagick ,Éú³ÉºÜ¶àºÜìŵÄÑéÖ¤Âë¡£¹ýÁ½ÌìÑо¿Ï¡£ÏȰÑ×î½ü¸ÄµÄÕâ¸ö·¢²¼Ï¹©ÅóÓÑÃDzΡ£
¿ÉÒÔÏÈ¿´¿´ÑùÀý¡£×î½üÔÚ×öÕâ¸öÍøÕ¾¡£´ó¼ÒÓÐÐËȤ¿ÉÒԽн»Á÷¡£Ô¼»á360 ÍøÖ·: www.yue ......
ÔÎÄÀ´×ÔÓÚ¡¶Developing Games in Java¡·£¬×÷ÕߣºDavid Brackeen, Bret Barker, Laurence Vanhelsuwé
JavaÔÚÉè¼ÆÊ±³ä·Ö¿¼ÂÇÁËÏß³Ì,Òò´ËÔÚJavaÖÐÏ̵߳IJÙ×÷±ÈÆäËûÓïÑÔÒª¼òµ¥¡£Ö»ÐèÉú³ÉÒ»¸öThreadÀàµÄʵÀý±ã¿É´´½¨Ò»¸öỊ̈߳¬È»ºóµ÷ÓÃstart()·½·¨Ïß³Ì¾ÍÆô¶¯ÁË¡£
&nbs ......
È¡µÃµ±Ç°ÏµÍ³Ê±¼ä System.currentTimeMillis()
·µ»ØºÁÃëʱ¼ä£¬ÎªlongÐÍÕûÊý£¬
¸Ãº¯ÊýÔÚ½øÐÐϵͳÐÔÄÜ¼à¿ØÊ±×î³£Óõ½
Àý£º
long start = System.currentTimeMillis();
//Òª¼à¿ØµÄ´úÂë¶Î
long end = System.currentTimeMillis();
System.out.println(end-start);
ÓÐʱҪ¼à¿Øµ ......
JavaµÄ×Ö·ûÀàÐͲÉÓõÄÊÇUTF-16±àÂ뷽ʽ¶ÔUnicode±àÂë±í½øÐбíʾ¡£ÆäÖÐÒ»¸öcharÀàÐ͹̶¨2Bytes£¨16bits£©¡£Ê×ÏÈÏȽéÉÜÒ»ÏÂUnicode±àÂë±íºÍUTF-16±àÂëËã·¨£º
Unicode±àÂë±íµÄרҵÊõÓ
´úÂëµã (code point): Ö¸ÔÚUnicode±àÂë±íÖÐÒ»¸ö×Ö·ûËù¶ÔÓ ......