我试图从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();
}
}
}
答案 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
更多的工作......)