c# – 如何从html中提取文本
发布时间:2020-12-15 04:08:08 所属栏目:百科 来源:网络整理
导读:我需要提取 body中存在的所有文本.的 HTML.示例 Html输入: – html titletitle/title body h1 This is a big title./h1 How are doing you? h3 I am fine /h3 img src="abc.jpg"/ /body/html 输出应该是: – This is a big title. How are doing you? I am
我需要提取< body>中存在的所有文本.的
HTML.示例
Html输入: –
<html> <title>title</title> <body> <h1> This is a big title.</h1> How are doing you? <h3> I am fine </h3> <img src="abc.jpg"/> </body> </html> 输出应该是: – This is a big title. How are doing you? I am fine 我只想将HtmlAgility用于此目的.请不要正则表达式. 我知道如何加载HtmlDocument,然后使用像’// body’这样的xquery,我们可以获取正文内容.但是如何删除输出中显示的html? 提前致谢 :) 解决方法
你可以使用body的InnerText:
string html = @" <html> <title>title</title> <body> <h1> This is a big title.</h1> How are doing you? <h3> I am fine </h3> <img src=""abc.jpg""/> </body> </html>"; HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); string text = doc.DocumentNode.SelectSingleNode("//body").InnerText; 接下来,您可能想要折叠空格和新行: text = Regex.Replace(text,@"s+"," ").Trim(); 但请注意,虽然它在这种情况下工作,但标记如hello< br> world或hello< i> world< / i>将被InnerText转换为helloworld – 删除标签.很难解决这个问题,因为显示由CSS决定,而不仅仅是由标记决定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |