替换Xml节点/元素的innertext
首先,这是C#。 我正在为NHS中的一小组同事创建一个互联网仪表板。 下面是一个示例xml文件,我需要更改其中的innertext。 我需要替换特定元素,例如“Workshop1”。 因为我们有一些研讨会,所以我不能使用通用编写器,因为它将使用下面的一段代码替换XML文档中的所有信息。
hello www.google.co.uk
我正在使用一个开关盒来选择一个特定的工作室,您可以在其中更改名称并添加研讨会的URL,使用下面的代码将替换整个文档。
public void XMLW() { XmlTextReader reader = new XmlTextReader("C:\\myXmFile.xml"); XmlDocument doc = new XmlDocument(); switch (comboBox1.Text) { case "button1": doc.Load(reader); //Assuming reader is your XmlReader doc.SelectSingleNode("buttons/workshop1").InnerText = textBox1.Text; reader.Close(); doc.Save(@"C:\myXmFile.xml"); break; } }
所以只是为了澄清我希望我的C#程序搜索XML文档找到元素“Workshop1”并用文本框中的文本替换innertext。 并且能够保存它而无需用一个节点替换整个文档。 谢谢你的期待。
使用XmlDocument
和XPath,您可以执行此操作
XmlDocument doc = new XmlDocument(); doc.Load(reader); //Assuming reader is your XmlReader doc.SelectSingleNode("buttons/workshop1").InnerText = "new text";
您也可以使用doc.Save
来保存文件。
阅读有关MSDN上的 XmlDocument
更多信息。
编辑
要保存文档,请执行此操作
doc.Save(@"C:\myXmFile.xml"); //This will save the changes to the file.
希望这对你有所帮助。