我需要读取一个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");
我运行此更新功能的应用程序和我写的地方的服务器是相同的,但我写的地方也是应用程序的级别(不是我的决定,不能改变)。如果你有关于如何使用加载和保存以引用本地路径而不是提供完整URL的建议,请告诉我。
运行上述代码的应用程序:
路径,C:/ MyProject / CMS /
网址,www.myproject.com / CMS
我试图编辑的HTML文件的位置:
路径C:/MyProject/articles/article1.html
网址,www.myproject.com / articles / article1.html