为什么 HTMLAgilityPack 会删除我的结束标记?
Why does HTMLAgilityPack remove my closing tag?
在 .NET (C#) 中使用 htmlagilitypack 并有一些 html 代码:
<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.</p>
然后我将其加载到文档中并通过 LoadHtml 和 Save 函数保存。但我最终得到:
<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.
最后一个关闭的 p 标签不见了。
为什么会这样?如何解决?
正如其他人在评论中所说,它是一个无效的 HTML,所以这可能是 HtmlDocument
class 本身最终删除 </p>
的原因您可以使用 Save
方法将其存储到文件中,但作为解决方法,您可以使用 System.IO.File
class 存储它并将 document.Text
存储在输出位置。
var html = "<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.</p>";
var document = new HtmlDocument();
document.LoadHtml(html);
File.WriteAllText("insert_your_path_here", document.Text);
在 .NET (C#) 中使用 htmlagilitypack 并有一些 html 代码:
<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.</p>
然后我将其加载到文档中并通过 LoadHtml 和 Save 函数保存。但我最终得到:
<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.
最后一个关闭的 p 标签不见了。
为什么会这样?如何解决?
正如其他人在评论中所说,它是一个无效的 HTML,所以这可能是 HtmlDocument
class 本身最终删除 </p>
的原因您可以使用 Save
方法将其存储到文件中,但作为解决方法,您可以使用 System.IO.File
class 存储它并将 document.Text
存储在输出位置。
var html = "<p><ol><li>A bunch of text</li></ol><em>some em text</em> more text here.</p>";
var document = new HtmlDocument();
document.LoadHtml(html);
File.WriteAllText("insert_your_path_here", document.Text);