替换XmlDocument属性中的子字符串

本文关键字:字符串 XmlDocument 属性 替换 | 更新日期: 2023-09-27 18:03:30

我使用c#与。net 3.5,并有一些情况下,我想用别的东西替换XmlDocument的XML属性中的一些子字符串。

一种情况是将单引号字符替换为',另一种情况是清理一些包含有效XML但属性值不再合适的文件(例如将任何以"myMachine"开头的属性替换为"newMachine")。

是否有一种简单的方法来做到这一点,或者我需要遍历每个节点的每个属性(递归地)?

替换XmlDocument属性中的子字符串

处理它的一种方法是使用Linq to XML选择正确元素的列表,然后遍历该列表。下面是一个示例一行代码:

 XDocument doc = XDocument.Load(path);
 doc.XPathSelectElements("//element[@attribute-name = 'myMachine']").ToList().ForEach(x => x.SetAttributeValue("attribute-name", "newMachine"));

你也可以做一个更传统的迭代。

我建议看一下LINQ to XML。这里有一组代码片段可以帮助您入门- LINQ To XML教程与示例

LINQ to XML应该允许您做您想做的事情,您可能会发现它很容易,一旦你玩了一点。