HtmlAgilityPack - 将MHTML转换为HTML作为字符串

时间:2014-04-10 10:10:46

标签: c# html-agility-pack mhtml

我有一个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的正确程序吗?

2 个答案:

答案 0 :(得分:0)

用C#将MHTML转换为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 linkhttps://github.com/DavidBenko/MHTML-to-HTML-Decoding-in-C-Sharp.git

答案 1 :(得分:0)

我快速浏览了带有HxD的MHTML文件。尽管如上所述,HtmlAgilityPack对MHTML几乎没有支持,但格式本身看起来很简单。它似乎由通常的可疑对象(未编码的HTML,CSS,JS,以Base64编码的图形等)以某种方式(带有mime类型的标头)串联在一起组成,可以轻松解决。话虽如此,该格式可能已完全记录在某处-因此,请清除浏览器的灰尘,编写一些C#进行解析,然后将结果添加到HtmlAgilityPack中。