如何使用新名称替换节点名称并使用 C# 和 Linq 将属性保留为 XML?

How to the replace node names with new name and keep the attributes using C# and Linq to XML?

我需要改变

<Test Language="English" Id="0" />

<Exam Language="English" Id="0" />

如何用新名称替换节点名称并保留属性?

您可以使用 Name 属性

var xdoc = XDocument.Load("input.xml");
var nodes=xdoc.Descendants("Test").ToList();//Get all "Test" node 
nodes.ForEach(d => d.Name = "Exam "); // Set name to 'Exam'
xdoc.Save("output.xml");