この操作を過小評価しないでください。実際には簡単ではありません。要素の値ではなく名前を置き換えていることに注意してください。
XML のコンテンツはメモリ内の DOM ツリーです。要素を置き換えるには、実際には新しい要素を作成し、元の要素のすべての子要素をコピーする必要があります。 LINQ TO XML で ReplaceWith を使用する
using System; using System.Linq; using System.Xml.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { XDocument doc = new XDocument( new XElement("Tables" , new XElement("Table" , new XElement("Name", "Orders") , new XElement("Owner", "chenxizhang")) , new XElement("Table" , new XElement("Name", "Customers") , new XElement("Owner", "Allen")) )); Console.WriteLine("原始的XML内容:"); Console.WriteLine(doc); //改变Tables元素名称为Items Console.WriteLine("改变了根元素之后显示的效果:"); XElement root = doc.Element("Tables"); root.ReplaceWith(new XElement("Items", root.Elements("Table"))); Console.WriteLine(doc); //改变Table元素名称为Item Console.WriteLine("改变了子元素之后显示的效果:"); foreach (var item in doc.Elements("Items").Descendants().ToList())//这里一定要先ToList { item.ReplaceWith(new XElement("Item", item.Descendants())); } Console.WriteLine(doc); Console.Read(); } } }
以上がXML文書の要素名を置換する方法を詳しく解説(図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。