如何在HtmlDocument中插入换行符?

时间:2017-12-11 15:30:07

标签: html asp.net html5 web

我使用Html Agility Pack将几个仅包含nil元素及其内部HTML的文件中的html内容复制到一个新的html文件中。执行此操作的基本代码如下。 body是新文件的_pageDocHtmlDocument是该文档的子文件,而对于每个文件,我构建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 )中插入换行符?

1 个答案:

答案 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