ホームページ  >  記事  >  バックエンド開発  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。