概述
不要小看这个操作,其实是不太容易的。请注意,我们是要替换掉元素的名称,而不是元素的值。
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文档中替换元素名称的方法(图)的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是多情往事为你收集整理的详解在XML文档中替换元素名称的方法(图)的全部内容,希望文章能够帮你解决详解在XML文档中替换元素名称的方法(图)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复