首頁  >  文章  >  後端開發  >  詳解在XML文件中替換元素名稱的方法(圖)

詳解在XML文件中替換元素名稱的方法(圖)

黄舟
黄舟原創
2017-03-24 17:17:352314瀏覽

不要小看這個操作,其實是不太容易的。請注意,我們是要替換掉元素的名稱,而不是元素的值。

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文件中替換元素名稱的方法(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn