参考文章C# Linq To XML的学习(创建并编辑XML树)示例

 
2010-03-26 16:37
Linq创建xml树,并对树中元素或属性的值修改。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml.Linq;

using System.Xml;

namespace LinqToXMLStudy

{

    //***********************************************************************************************************

    //Module:Program.cs

    //Author:factly

    //Create Date:2008-06-30

    //***********************************************************************************************************

    class Program

    {

        static void Main(string[] args)

        {

            //用linq创建XML树------------------------------------------------------------------------------------

            XElement xmlTree = new XElement("Contacts",

                                new XElement("Contact",

                                    new XElement("Name", "Patrick Hines"),

                                    new XElement("Phone", "206-555-0144",

                                        new XAttribute("Type", "Home")),

                                    new XElement("Phone", "425-555-0145",

                                        new XAttribute("Type", "Work")),

                                    new XElement("Address",

                                        new XElement("Street1", "123 Main St"),

                                        new XElement("City", "Mercer Island"),

                                        new XElement("State", "WA"),

                                        new XElement("Postal", "68042")

                                     )

                                )

                            );

            Console.WriteLine(xmlTree);

            //用linq创建XML树结束-------------------------------------------------------------------------------

            //修改xml中属性的值---------------------------------------------------------------------------------

             IEnumerable<System.Xml.Linq.XElement> xe = xmlTree.Descendants("Phone");//查询出元素名为Phone的所有集合,查询时区分大小写

             var v = xe.Where(p => p.Attribute("Type").Value == "Home");

           

             foreach (var s in v)

             {

                 s.SetValue("hello");

             }

             Console.WriteLine("修改后的结果为:");

             Console.WriteLine(xmlTree);

             //修改xml中属性的值结束-----------------------------------------------------------------------------

            Console.ReadKey();

        }

    }

}

http://hi.baidu.com/xbs729/blog/item/30de2c266839b627d407429c.html

原文地址:https://www.cnblogs.com/angestudy/p/2002765.html