HtmlAgilityPack-将MHTML转换为字符串形式的HTML

本文关键字:HTML 字符串 MHTML 转换 HtmlAgilityPack- | 更新日期: 2023-09-27 17:57:47

我有一个MHTML文件,正在尝试将其转换为HTML。

我已经安装了HtmlAgilityPack,并尝试了以下代码:

var doc = new HtmlAgilityPack.MixedCodeDocument();
doc.Load("C:''Users''DickTracey''Downloads''Club Membership Report.mhtml");
var ms = new MemoryStream();
var sw = new StreamWriter(ms);
doc.Save(sw);
ms.Position = 0;
var sr = new StreamReader(ms);
return sr.ReadToEnd();

但它总是返回null。

有人能解释一下将MHTML转换为HTML的正确步骤吗?

HtmlAgilityPack-将MHTML转换为字符串形式的HTML

MHTML到C#中的HTML解码

string mhtml = "This is your MHTML string"; // Make sure the string is in UTF-8 encoding MHTMLParser parser = new MHTMLParser(mhtml); string html = parser.getHTMLText(); // This is the converted HTML

git link:https://github.com/DavidBenko/MHTML-to-HTML-Decoding-in-C-Sharp.git

我快速查看了一个带有HxD的MHTML文件。尽管如上所述,HtmlAgilityPack很少或根本不支持MHTML,但格式本身看起来足够简单。它似乎由常见的可疑内容(未编码的HTML、CSS、JS、Base64中编码的图形等)组成,这些内容以一种可以毫不费力地解决的方式(使用mime类型的头)连接在一起。话虽如此,该格式可能在某个地方有完整的文档记录——所以,掸掉浏览器上的灰尘,写一些C#来解析它,然后用勺子将结果提供给HtmlAgilityPack。