如何使用Html Agility Pack保存文件?

时间:2017-12-15 16:47:11

标签: c# html web-applications html-agility-pack

我需要读取一个html文件,添加一个标签,然后将其保存回保存位置。我已经能够使用Html Agility Pack读取文件并添加新标签,但我无法保存工作。它返回错误"不支持给定路径的格式。"我在加载时遇到了同样的问题,我使用了建议here来使用HtmlWeb()。而是加载。我猜测有类似的方法可以使用保存,但我无法找到它。有人可以解释一下如何做到这一点吗?

        HtmlDocument doc = new HtmlDocument();
        var oldPath = "https://www.myproject.com/articles/";
        var oldHtml = txtOldHtml.Text;
        var oldCompleteURL = oldPath + oldHtml;
        //doc.Load( oldCompleteURL); // Threw error "The given path's format is not supported."
        doc = new HtmlWeb().Load(oldCompleteURL);
        var htmlBody = doc.DocumentNode.SelectSingleNode("//head");
        HtmlNode oldChild = htmlBody.ChildNodes[1];
        HtmlNode newChild = HtmlNode.CreateNode("<meta http-equiv=\"refresh\" content=\"0; url = " + link + ">");
        htmlBody.AppendChild(newChild);
        doc.Save( oldPath + "test.html");

enter image description here

我运行此更新功能的应用程序和我写的地方的服务器是相同的,但我写的地方也是应用程序的级别(不是我的决定,不能改变)。如果你有关于如何使用加载和保存以引用本地路径而不是提供完整URL的建议,请告诉我。

运行上述代码的应用程序:

  • 路径,C:/ MyProject / CMS /

  • 网址,www.myproject.com / CMS

我试图编辑的HTML文件的位置:

  • 路径C:/MyProject/articles/article1.html

  • 网址,www.myproject.com / articles / article1.html

0 个答案:

没有答案