我使用Html Agility Pack将几个仅包含nil
元素及其内部HTML的文件中的html内容复制到一个新的html文件中。执行此操作的基本代码如下。 body
是新文件的_pageDoc
,HtmlDocument
是该文档的子文件,而对于每个文件,我构建contentNode
并将其附加到{{1} }}
div
这可以按预期工作,渲染的html很完美,但每个contentNode
都在一行,而且不是很易读。如何在每个var contents = GetContentDescs(courseId);
foreach (var content in contents)
{
var html = File.ReadAllText(Path.Combine(HtmlDir, content.ContentId + ".html"));
var contentDoc = new HtmlDocument();
contentDoc.LoadHtml(html);
var bodyNode = contentDoc.DocumentNode.Descendants("body").Single();
var contentDiv = _pageDoc.CreateElement("div");
contentDiv.InnerHtml = bodyNode.InnerHtml;
contentNode.AppendChild(contentDiv);
}
之间的html文件( vs in the render html )中插入换行符?
答案 0 :(得分:-1)
像
这样的东西HtmlNode linebreak = doc.CreateElement("br");
var contentDivs= doc.DocumentNode.SelectNodes("contentDiv");
for (int i = 0; i < contentDivs.Count; i++)
{
if (i > 0)
{
doc.DocumentNode.InsertBefore(linebreak1, contentDivs[i]);
}
}
我通过阅读文档提出了一些脏代码,但我从未使用过Agility pack