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

完善自己的html parse

       说来惭愧,我发现自己写的那个html parse过于理想化,解析xml还差不多,想解析现今的html,估计是不大可能的,所以我把代码重写了一遍,数据结构改成双向链表,这样解析速度更快,最大程度地对html进行容错处理,试验时发现的确可以解析普通html字符串,不需要再严格符合那个xhtml标准了。而且在链式调用的传递参数上不需要再传入dom类型的参数,这样写起来就更加简便了。
        好了,废话不多说,看代码:
#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--){
&


相关文档:

易语言代码转HTML 测试(源码方式)


程序集名
保留
保留
备注
窗口程序集1
 
 
 
子程序名
返回值类型
公开
备注
_按钮2_被单击
 
 
 
写到文件 (“c:\ecode.txt”, 到字节集 (超级编辑框1.内容))
执行 (4, “ecode_To_html.exe”, “c:\ecode.txt& ......

如何去除JSP输出HTML时产生的大量空格和换行

在WEB应用中,如果使用jsp作为view层的显示模板,都会被空格/空换行问题所困扰.
这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符.例如:
------- start ----------
<c:choose>
    <c:when test="${fn:length(mainPageList)>1&}&q ......

html重新加载问题

   最近在使用ext嵌入html页面的过程中,遇到一个问题。我们页面都是用html制作的,用iframe的方式嵌入到ext的panel里。其中有一个页面是在按钮触发的时候加载进去的,但是重新刷新浏览器,页面仍然嵌入在panel中,并没有卸载掉,在页面上设置清空缓存也没有效果。
   后来我发现,只有在浏览器地址里 ......

html:link 各个属性解释及用法

<html:link> 标签用于生成HTML <a> 元素。<html:link> 在创建超链接时,有两个优点:  
(1) 允许在URL 中以多种方式包含请求参数。  
(2) 当用户浏览器关闭Cookie 时,会自动重写URL,把SessionID 作为请求参数包含在URL 中,用于跟踪用户的Session 状态。  
<ht ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号