Maison  >  Article  >  développement back-end  >  Explication détaillée sur la façon de remplacer les noms d'éléments dans les documents XML (image)

Explication détaillée sur la façon de remplacer les noms d'éléments dans les documents XML (image)

黄舟
黄舟original
2017-03-24 17:17:352313parcourir

Ne sous-estimez pas cette opération, elle n’est effectivement pas facile. Notez que nous remplaçons le nom de l'élément, pas sa valeur. Le contenu de

XML est un arbre DOM en mémoire. Pour remplacer un élément, vous devez en fait créer un nouvel élément et copier tous les éléments enfants de l'élément d'origine. Utilisez ReplaceWith dans LINQ TO XML pour implémenter

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

Explication détaillée sur la façon de remplacer les noms déléments dans les documents XML (image)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn