首页 > 解决方案 > 我可以更改内部文本的值,但无法将编辑后的节点保存回 HTML 文档

问题描述

string xpath = "//div[ @id='attendance_no']";
 var doc = web.Load(@"C:\Users\PC\Desktop\projese302\newtmp.html");
            HtmlNode node = doc.DocumentNode.SelectSingleNode(xpath);
            node.InnerHtml = node.InnerHtml.Replace(node.InnerText (string)dataGridView1.Rows[1].Cells["Sayı"].Value);

我正在尝试通过获取用户输入来更改和保存内部 HTML 的值,例如当用户输入数字时 - 必须编辑内部 HTML 的值 2. 我可以更改内部文本的值,但我可以'不将编辑后的节点保存回 HTML 文档,我该怎么做,请帮帮我?

标签: c#htmlvisual-studiowindows-forms-designer

解决方案


你在使用“HtmlAgilityPack”吗?

您可以获取节点并更改其文本。然后调用Save Method以保存更改。

var path = @"test.html";
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(path);

HtmlTextNode node = doc.DocumentNode.SelectSingleNode("//div[@id='Div1']//text()") as HtmlTextNode;
node.Text = "new text";
// save the change
doc.Save(@"test.html");

推荐阅读