ÍêÉÆ×Ô¼ºµÄhtml parse
˵À´²ÑÀ¢£¬ÎÒ·¢ÏÖ×Ô¼ºÐ´µÄÄǸöhtml parse¹ýÓÚÀíÏ뻯£¬½âÎöxml»¹²î²»¶à£¬Ïë½âÎöÏÖ½ñµÄhtml£¬¹À¼ÆÊDz»´ó¿ÉÄܵģ¬ËùÒÔÎÒ°Ñ´úÂëÖØÐ´ÁËÒ»±é£¬Êý¾Ý½á¹¹¸Ä³ÉË«ÏòÁ´±í£¬ÕâÑù½âÎöËٶȸü¿ì£¬×î´ó³Ì¶ÈµØ¶Ôhtml½øÐÐÈÝ´í´¦Àí£¬ÊÔÑéʱ·¢ÏÖµÄÈ·¿ÉÒÔ½âÎöÆÕͨhtml×Ö·û´®£¬²»ÐèÒªÔÙÑϸñ·ûºÏÄǸöxhtml±ê×¼ÁË¡£¶øÇÒÔÚÁ´Ê½µ÷ÓõĴ«µÝ²ÎÊýÉϲ»ÐèÒªÔÙ´«ÈëdomÀàÐ͵IJÎÊý£¬ÕâÑùдÆðÀ´¾Í¸ü¼Ó¼ò±ãÁË¡£
ºÃÁË£¬·Ï»°²»¶à˵£¬¿´´úÂ룺
#include<iostream>
using namespace std;
class node;
class dom;
class nodecollect{
private:
node *n;
int length;
public:
nodecollect();
~nodecollect();
int getlength();
void add(node *nn);
node* item(int i);
};
class node{
private:
int start;
int len;
char name[20];
public:
char* nodehtml();
char* innerhtml();
char* outerhtml();
char* innertext();
char* getattr(char* str);
char* tagname();
void setname(char *str);
node* getparent();
nodecollect* getchild();
node* getnext();
node* getprevious();
node *next;
node *previous;
void setstart(int i);
void setlen(int i);
int getstart();
int getlen();
dom *d;
};
class dom{
private:
char *text;
node *start;
node *end;
int count;
int parse(char *s);
public:
~dom();
char *gettext();
void load(char *str);
node* getitem(int i);
int getcount();
node *getbyid(char* id);
nodecollect* getbytagname(char *tagname);
};
void dom::load(char* str){
start=0;
end=0;
count=0;
int l=strlen(str);
text=new char[l+1];
strcpy(text,str);
char *t=text;
parse(t);
}
int dom::getcount(){
return count;
}
char *dom::gettext(){
return text;
}
node* dom::getitem(int i){
node* n1=start;
while(i--){
&
Ïà¹ØÎĵµ£º
ģ̬¶Ô»°¿òµã»÷Á´½Ó²»´ò¿ªÐ´°¿Ú
·½·¨1£º
ÔÚģ̬´°¿ÚÒ³ÃæÀï¼ÓÉÏ£º
<head>
<base target=_self >
</head>
''<base target=_self > ''·Åµ½<head>±êÇ©ÄÚ
·½· ......
×î½ü±¾À´ÊÇҪȥÄÇǶÈëʽ¿ÎµÄ£¬µ«ÊÇÄǿξ¹È»ËµÈËÊýÌ«ÉÙ£¬¿ª²»ÁË£¬¿¿¡£ËùÒÔÕâÁ½ÌìÖ»ÄÜ×Ô¼ºÑо¿µã¶«Î÷ÁË¡£¼ÇµÃ×Ô¼ºÒÔǰ¾ÍÏ붯ÊÖдһ¸ö¹ØÓÚdomµÄ½âÎöÒýÇæ£¬Ö»¹Ö×Ô¼ºÌ«ÀÁ£¬Ò»Ö±Ã»¶¯±Ê¡£×î½üÔÚ¼ÒҲûʲôÊÂ×ö£¬¾Í×Ô¼º¶¯ÊÖдһ¸ö£¬»¨ÁËÒ»Ììʱ¼äдµÄ²î²»¶àÁË£¬ÕýºÃ¶ÍÁ¶×Ô¼ºµÄc++ˮƽ°É¡£
&nb ......
×î½üÔÚʹÓÃextǶÈëhtmlÒ³ÃæµÄ¹ý³ÌÖУ¬Óöµ½Ò»¸öÎÊÌâ¡£ÎÒÃÇÒ³Ãæ¶¼ÊÇÓÃhtmlÖÆ×÷µÄ£¬ÓÃiframeµÄ·½Ê½Ç¶Èëµ½extµÄpanelÀï¡£ÆäÖÐÓÐÒ»¸öÒ³ÃæÊÇÔÚ°´Å¥´¥·¢µÄʱºò¼ÓÔØ½øÈ¥µÄ£¬µ«ÊÇÖØÐÂË¢ÐÂä¯ÀÀÆ÷£¬Ò³ÃæÈÔȻǶÈëÔÚpanelÖУ¬²¢Ã»ÓÐÐ¶ÔØµô£¬ÔÚÒ³ÃæÉÏÉèÖÃÇå¿Õ»º´æÒ²Ã»ÓÐЧ¹û¡£
ºóÀ´ÎÒ·¢ÏÖ£¬Ö»ÓÐÔÚä¯ÀÀÆ÷µØÖ·Àï ......
<html:link> ±êÇ©ÓÃÓÚÉú³ÉHTML <a> ÔªËØ¡£<html:link> ÔÚ´´½¨³¬Á´½Óʱ£¬ÓÐÁ½¸öÓŵ㣺
(1) ÔÊÐíÔÚURL ÖÐÒÔ¶àÖÖ·½Ê½°üº¬ÇëÇó²ÎÊý¡£
(2) µ±Óû§ä¯ÀÀÆ÷¹Ø±ÕCookie ʱ£¬»á×Ô¶¯ÖØÐ´URL£¬°ÑSessionID ×÷ΪÇëÇó²ÎÊý°üº¬ÔÚURL ÖУ¬ÓÃÓÚ¸ú×ÙÓû§µÄSession ״̬¡£
<ht ......