详解在XML文档中替换元素名称的方法(图)

不要小看这个操作,其实是不太容易的。请注意,我们是要替换掉元素的名称,而不是元素的值。

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();        }    }}

登录后复制

1279.png

以上就是详解在XML文档中替换元素名称的方法(图)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2418608.html

(0)
上一篇 2025年3月3日 02:23:09
下一篇 2025年2月22日 16:48:07

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论