需要编辑 XML 文件中的某些节点。
我用 XmlTextReader 收集了它们。如果遇到 Remark 节点,我会跳到下一个节点。如果我遇到其他指定的节点并且它们不是以特定模式开始的,我会将它们放在一个集合中。
List<KeyValuePair<string, string>> Data = new List<KeyValuePair<string, string>>();
string key = "";
string value = "";
reader = new XmlTextReader(file);
switch (reader.NodeType)
{
case XmlNodeType.Element:
switch (reader.Name)
{
case "Remark":
reader.Skip();
break;
case "DataTableColumn":
case "Label":
case "Button":
case "PopupPanel":
while (reader.MoveToNextAttribute())
{
switch (reader.Name)
{
case "ID":
key = reader.Value;
break;
case "Header":
case "Caption":
value = reader.Value;
break;
}
}
if (!value.StartsWith("@"))
{
Data.Add(new KeyValuePair<string, string>(key, value));
}
break;
}
break;
}
现在我已经修改了集合中所有项目的值,我想更新原始文件。执行此操作的最佳方法是什么?
最佳答案
您有什么理由不为此使用 XSLT 吗?这似乎是执行此操作的最合适的技术。
关于c# - .NET 在使用 XmlTextReader 找到特定的 XML 节点后对其进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4616489/