C# Linq To XML的学习(创建并编辑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:limeteor
//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();
}
}
}