首页 新闻 会员 周边 捐助

用C#怎么获取html文件的源码

0
悬赏园豆:50 [已解决问题] 解决于 2013-02-26 10:58

就是怎么用C#获取html文件的代码,比如,一个html文件test.html,怎么用代码来实现获取test.html文件中的源代码?将获取的html源代码显示到文本框里进行编辑

那寻的主页 那寻 | 初学一级 | 园豆:7
提问于:2013-01-22 18:06
< >
分享
最佳答案
0
1 string filePath = "test.html";
2 filePath = HttpContext.Current.Server.MapPath(filePath);
3 string fileContent = string.Empty;
4 using (var reader = new StreamReader(filePath))
5 {
6     fileContent = reader.ReadToEnd();
7 }
8 this.tbHtml.Text = fileContent;
  • 第一行是文件"test.html"的相对路径;
  • 第二行是文件在网站下的绝对路径;
  • 第4到7行,完成了读取内容,捕获异常,释放资源的所有操作;
  • 第8行中this.tbHtml是个文本框,这句是把文件内容放到文本框里面。
收获园豆:50
月窟仙人 | 菜鸟二级 |园豆:383 | 2013-01-22 20:17

还有,把网页内容显示到文本框里面,然后编辑文本框的内容,点击修改,怎么把文本框里已修改的内容插入到那个html文件里面去?

那寻 | 园豆:7 (初学一级) | 2013-01-23 10:01

@那寻: 接上面的代码:

1 using(var writer = new StreamWriter(filePath))
2 {
3     writer.Write(this.tbHtml.Text);
4 }

这样就把tbHtml里面的文本都写到文件中了。 :)

月窟仙人 | 园豆:383 (菜鸟二级) | 2013-01-23 22:07
其他回答(5)
0
//FilePath为你的test.html的文件路径   
 public static string WriteFile(string FilePath)
    {
        Encoding code = Encoding.GetEncoding("utf-8");
        // 读取模板文件   
        string temp = HttpContext.Current.Server.MapPath(FilePath);
        string str = "";
        StreamReader sr = null;
        try
        {
            sr = new StreamReader(temp, code);
            str = sr.ReadToEnd(); // 读取文件  
        }
        catch (Exception exp)
        {
            HttpContext.Current.Response.Write(exp.Message);
            HttpContext.Current.Response.End();
            sr.Close();
        }
        finally
        {
            sr.Close();
        }
        return str;
    }
需要格局 | 园豆:2145 (老鸟四级) | 2013-01-22 18:19

还有,把网页内容显示到文本框里面,然后编辑文本框的内容,点击修改,怎么把文本框里已修改的内容插入到那个html文件里面去?

支持(0) 反对(0) 那寻 | 园豆:7 (初学一级) | 2013-01-23 10:00
0

你的文件是本地的吗?

1、如果是,你直接使用文件流操作就好了,只是现在你没办法获取到js动态创建的HTML;

2、如果不是,而是挂接在服务器上的网址源代码,则可以获取到js动态生成的html,请参考:http://q.cnblogs.com/q/45531/

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-01-22 23:17
0
        /// <summary>
        /// 读取动态页面HTML
        /// </summary>
        /// <param name="strUrl">动态页面地址</param>
        /// <returns></returns>
        public static string GetStringByUrl(string dynamicUrl)
        {
            WebRequest wrt = null;
            WebResponse wrse = null;

            try
            {
                wrt = WebRequest.Create(dynamicUrl);
                
                wrt.Timeout = 8000;
                wrse = wrt.GetResponse();

                HttpWebResponse res = (HttpWebResponse)wrse;
                if (res.StatusCode == HttpStatusCode.OK)
                { 
                    
                }
                else if (res.StatusCode == HttpStatusCode.Redirect)
                {
                    var redURL = res.ResponseUri.AbsoluteUri;
                }

                Stream strM = null;
                StreamReader SR = null;

                try
                {
                    strM = wrse.GetResponseStream();
                    SR = new StreamReader(strM, code);

                    string strallstrm = SR.ReadToEnd();
                    return strallstrm;
                }
                catch (Exception ex)
                { }
                finally
                {
                    if (SR != null)
                    {
                        try
                        {
                            SR.Dispose(); SR.Close();
                        }
                        finally { SR = null; }
                    }
                    if (strM != null)
                    {
                        try { strM.Dispose(); strM.Close(); }
                        finally { strM = null; }
                    }
                }

                return string.Empty;
            }
            catch
            {
                return "";
            }
            finally
            {
                if (wrse != null)
                {
                    try { wrse.Close();}
                    finally { wrse = null; }
                }
                if (wrt != null)
                    wrt = null;
            }
        }
哇~怪兽 | 园豆:622 (小虾三级) | 2013-01-23 09:50

还有,把网页内容显示到文本框里面,然后编辑文本框的内容,点击修改,怎么把文本框里已修改的内容插入到那个html文件里面去?

支持(0) 反对(0) 那寻 | 园豆:7 (初学一级) | 2013-01-23 10:01

@那寻: 报个班学学吧。哎。。

 你可以百度,如何向txt文件中 ,追加,修改内容。 和改html一样

支持(0) 反对(0) 哇~怪兽 | 园豆:622 (小虾三级) | 2013-01-23 10:16
0

webrequset?

shineme | 园豆:29 (初学一级) | 2013-01-23 11:23
0
chenping2008 | 园豆:9836 (大侠五级) | 2013-01-23 13:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册