如何将html转换为纯文本c#?

时间:2016-10-13 07:24:56

标签: c# html

我试图从html网站获取纯文本但我得到的是html代码而不是纯文本。例如< b>你好< / B个< p>它我< / p>我怎么能把它转换成你好我。很感谢任何形式的帮助!这是我的代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
 using System.Net;
 using System.Text.RegularExpressions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

 namespace WindowsFormsApplication2
 {
   public partial class Form1 : Form
   {
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(""https://www.dailyfx.com/real-time-news");
        myRequest.Method = "GET";
        WebResponse myResponse = myRequest.GetResponse();
        StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
        string result = sr.ReadToEnd();




        textBox1.Text = result;
        sr.Close();
        myResponse.Close();
    }
    }
}

2 个答案:

答案 0 :(得分:1)

 You can use regex expressions for this. 

 Regex.Replace(htmltext, "<.*?>", string.Empty);

 Eg:- String htmltext = "string html = "<p>Test1 <b>.NET</b> Test2 Test3 
                         <i>HTML</i> Test4.</p>";"
      Output will be :- Test1 Test2 Test3 Test4.

这对你有帮助。 http://www.codeproject.com/Tips/136704/Remove-all-the-HTML-tags-and-display-a-plain-text

答案 1 :(得分:0)

简答:没有直接转换;你是&#34;屏幕抓取&#34;一个网站;解析结果字符串以提取您需要的内容(或者更好的是,查看相关网站是否提供了API)。

网站以HTML格式呈现,而不是纯文本。虽然您将结果作为字符串返回,但您需要解析它以提取您感兴趣的文本。实际提取很大程度上取决于您要完成的任务。如果网站是正确的XHTML,您可以将其作为XML加载到XDocument并遍历树以获取所需的信息;否则,其中一条评论中提出的HTMLAgilityPack可能会有所帮助(不像评论所暗示的那样神奇 - 它比GetString更多的工作......)