Ne sous-estimez pas cette opération, elle n’est effectivement pas facile. Notez que nous remplaçons le nom de l'élément, pas sa valeur. Le contenu de
XML est un arbre DOM en mémoire. Pour remplacer un élément, vous devez en fait créer un nouvel élément et copier tous les éléments enfants de l'élément d'origine. Utilisez ReplaceWith dans LINQ TO XML pour implémenter
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(); } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!