现在有这样的一个需要,就是用户上传一个HTML文件到服务器,服务器解析这个HTML之后,将信息存储到数据库当中。
有几个问题不很明白:
1、ASP.NET有上传组件吗?以前ASP当中一直用的是化境上传,不知道ASP.NET当中是否有上传相关的东西
2、ASP.NET是否有解析HTML的类或者什么?
3、上传之后直接在页面当中解析,估计对于服务器的性能影响很大,所以希望上传之后,在后台进行解析,不知道这应该是一个什么过程?调用一个页面还是需要自己写一个系统服务来轮回监测,发现有需要解析的就解析,还是ASP.NET自身有什么好的方法?
谢谢~~~
------解决方案--------------------------------------------------------
1、有上传组件:fileUpload。
2、也有:htmlDocument等。
3、不知道......
------解决方案--------------------------------------------------------
1.fileupload
2.HtmlDocument
3.你要轉換到流格式嗎?
------解决方案--------------------------------------------------------
美女,
、ASP.NET有上传组件吗?==有 。fileUpload。
、ASP.NET是否有解析HTML的类或者什么?==有,你会采集吗 ?用正则解析。
上传之后直接在页面当中解析,估计对于服务器的性能影响很大,所以希望上传之后,在后台进行解析,不知道这应该是一个什么过程==
页面当中解析 与 后台进行解析, ASP.NET 可以在页面当中解析吗 ?
通常你上传之后,在后台得到, 就是在 后台解析 了。
------解决方案--------------------------------------------------------
这样的解析一般用正则
------解决方案--------------------------------------------------------
使用System.IO.StreamReader+正则来提取内容
------解决方案--------------------------------------------------------
正则表达式,解析
------解决方案--------------------------------------------------------
1.fileupload控件
2.用DOM解析,快的像什么
3.单独写个异步处理类,每次上传成功后调用这个类进行异步处理,处理完毕,调用存储过程存储到数据库~
good luck
------解决方案--------------------------------------------------------
1、前面的回答过了 fileUpload
2、正则,例:
- C# code
string matchText = @"<\s*a\s*[^/>\n]* href\s*=\s*([^\s]+)[^>/\n]*>(.*)</\s*a\s*>"; //正则表达式 Regex reg = new Regex(matchText, RegexOptions.IgnoreCase); //新建正则对象,忽略大小写 Match m = reg.Match(inputHtml); //匹配对象,inputHtml是你输入的网页内容的字符串,可以从Stream或别的什么地方得到。 System.Collections.ArrayList linkList = new System.Collections.ArrayList(); //保存链接的数组 while (m.Success) { string[] linkinfo = new string[2]; linkinfo[0] = m.Groups[1].ToString().Trim(new char[] { '"', '\'' }); //链接地址,链接两头可能会有引号,也可能没有,先去掉一下。 linkinfo[1] = m.Groups[2].ToString();//链接内容。 linkList.Add(linkinfo); }
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
用的哪个正则?我写的那个?多出什么?我测试过啊。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
mark