【问题标题】:Keeping format when parsing text from a site从站点解析文本时保持格式
【发布时间】:2019-12-04 08:33:38
【问题描述】:

我想解析整个网站的文本,所有文本都像原始文本一样出现在文本文件中。我想让它按原样格式化。

我正在使用 HTML Agility Pack 来解析文本,我尝试了可以​​在互联网上找到的任何解决方案,但没有任何帮助。这是我的代码。

 var headerNames = doc.DocumentNode.SelectNodes("//[@id='wrap']/div[2]/div/div/div[3]").ToList();
        foreach (var item in headerNames)
        {
            var completeReplace = item.InnerText.Replace("<br>, </b>","\n");
            Console.WriteLine(completeReplace);
        }

似乎替换不起作用,或者我错过了一些关于它的东西。或者你们可以帮助我用另一种方式来解析文本,我很感激。

【问题讨论】:

  • Replace 不需要替换字符串数组,只需 1 个文字字符串。打两个电话。
  • 嗨,你能告诉我更具体的方式吗?我真的不明白。

标签: c# html html-agility-pack text-parsing


【解决方案1】:

你不能使用这样的替换功能。它一次只替换一个段。

var headerNames = doc.DocumentNode.SelectNodes("//[@id='wrap']/div[2]/div/div/div[3]").ToList();
foreach (var item in headerNames)
{
    var completeReplace = item.InnerText.Replace("<br>","\n");
    completeReplace = completeReplace .Replace("</br>","\n");
    Console.WriteLine(completeReplace);
}

【讨论】:

  • 那么,我应该为此使用什么?
  • 我听不懂你。对不起
  • 网页中的某些内容,例如:“text text text
    other text” 但是当我解析该页面时,我得到的将是“text text text other text”而不是给定的格式.想问一下用HTML敏捷包解析网页时如何保持给定的格式。
  • 你需要调用 item.InnerHtml,这会给你 html
猜你喜欢
  • 2014-10-09
  • 2016-12-28
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
相关资源
最近更新 更多