替换 Xml 节点/元素的内部文本
首先这是C#。我正在为 NHS 的一小群同事创建一个互联网仪表板。 下面是一个示例 xml 文件,我需要在其中更改其内部文本。我需要替换特定元素,例如“Workshop1”。因为我们有一些研讨会,所以我无法使用通用编写器,因为它将用下面的一小段代码替换 XML 文档上的所有信息。
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
我使用 switch case 选择一个特定的研讨会,您可以在其中更改名称并添加研讨会的 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”,并用文本框中的文本替换内部文本。并且能够保存它而无需用一个节点替换整个文档。感谢您的关注。
First of all this is C#. I am creating a internet dashboard for a small group of colleages in the NHS.
Below is an example xml file in which I need to change the innertext of. I need to replace a specific element for example "Workshop1." Because we have a few workshops I cannot afford to use a general writer because it will replace all the information on the XML document with this one bit of code below.
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
I am using a switch case to select a specific workshop where you can change the name and add a URL of the workshop and using this code below will replace the whole document.
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;
}
}
So just to clarify I want my C# program to search through the XML document find the element "Workshop1" and replace the innertext with text from a textBox. and be able to save it without replacing the whole document with one node. Thanks for looking.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
XmlDocument
和 XPath 可以做到这一点。您也可以使用
doc.Save
来保存文件。在 MSDNXmlDocument 的更多信息一个>。
编辑
要保存文档,请执行此操作
希望这对您有帮助。
Using
XmlDocument
and XPath you can do thisYou can use
doc.Save
to save the file also.Read more about
XmlDocument
on MSDN.EDIT
To save the document do this
Hope this helps you.