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文档中替代元素称号的要领(图)的细致内容,更多请关注ki4网别的相干文章!