函数构造是指通过单个语句构建XML树的能力.我们已经体验了如何使用XElement和XAttribute类手工创建XML树,也可以通过其他XElement和XAttribute对象传递给XElement类的构造函数来创建子元素和属性,也就是说,LINQ查询的结果可以用来创建XML树,下面就来看看一个演示:
//-----------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 ,黄聪 , Ltd .
//-----------------------------------------------------------
using System;
using System.Xml.Linq;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
XElement xel = new XElement(new XElement("Root",
new XElement("Person",
new XElement("Name", "Huang Cong"),
new XElement("Sex", "男"),
new XElement("Age", 22)),
new XElement("Person",
new XElement("Name", "Li Si"),
new XElement("Sex", "女"),
new XElement("Age", 12))
));
//通过LINQ查询将xel的元素添加至新的XElement中
XElement newXel = new XElement(new XElement("NewRoot",
new XElement("Persons",
xel.Elements().Where(u => u.Name == "Person").Select(u => u)
)));
Console.WriteLine(newXel);
}
}
}