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