Я могу изменить значение внутреннего текста, но я не могу сохранить отредактированный узел обратно в HTML-документ

#c# #html #visual-studio #windows-forms-designer

#c# #HTML #visual-studio #windows-forms-designer

Вопрос:

 string xpath = "//div[ @id='attendance_no']";
 var doc = web.Load(@"C:UsersPCDesktopprojese302newtmp.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-документ, как я могу это сделать, пожалуйста, помогите мне?

Ответ №1:

Вы используете «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");