XElement root = new XElement("root",
new object[]
{
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431237"),
new XAttribute("Name","John"),
new XAttribute("Age",18),
new XElement("Math",90),
new XElement("English",88),
new XElement("Chinese",79)
}
),
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431234"),
new XAttribute("Name","Peter"),
new XAttribute("Age",18),
new XElement("Math",60),
new XElement("English",88),
new XElement("Chinese",56)
}
),
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431232"),
new XAttribute("Name","Mark"),
new XAttribute("Age",20),
new XElement("Math",90),
new XElement("English",38),
new XElement("Chinese",79)
}
),
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431238"),
new XAttribute("Name","Lucy"),
new XAttribute("Age",19),
new XElement("Math",90),
new XElement("English",58),
new XElement("Chinese",79)
}
),
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431239"),
new XAttribute("Name","Cathy"),
new XAttribute("Age",19),
new XElement("Math",60),
new XElement("English",88),
new XElement("Chinese",89)
}
),
new XElement("Stu",
new object[]
{
new XAttribute("Num","093431240"),
new XAttribute("Name","Cloie"),
new XAttribute("Age",20),
new XElement("Math",50),
new XElement("English",78),
new XElement("Chinese",99),
new XElement("Chemistry",99)
}
)
}
);
Console.WriteLine(root);
Console.WriteLine("Linq查询");
var query = from val in root.Elements() where val.Attribute("Num").Value == "093431237" || val.Attribute("Name").Value == "Peter" select val;
Console.WriteLine(query.Count());
foreach (var item in query)
{
Console.WriteLine(item);
}
var query2 = from val in root.Elements("root") select val;
Console.WriteLine("query2查询结果:" + query2.Count());
var query3 = from val in root.Elements("Stu") select val;
Console.WriteLine("query3查询结果:" + query3.Count());
foreach (var item in query3)
{
Console.WriteLine(item.Attribute("Num").Name + ":" + item.Attribute("Num").Value + "--" + item.Attribute("Name").Name + ":" + item.Attribute("Name").Value);
Console.WriteLine(item.Element("Math").Name + ":" + item.Element("Math").Value);
Console.WriteLine(item.Element("English").Name + ":" + item.Element("English").Value);
Console.WriteLine(item.Element("Chinese").Name + ":" + item.Element("Chinese").Value);
}
Console.WriteLine("查询结果query4");
var query4 = from val in root.Elements("Stu") select new { name = val.Attribute("Name").Value, num = val.Attribute("Num").Value };
foreach (var item in query4)
{
Console.WriteLine(item);
}
var query5 = from val in root.Elements("Stu") where int.Parse(val.Attribute("Age").Value) == 18 select val;
foreach (var item in query5)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query6:");
var query6 = from val in root.Elements("Stu")
from val2 in val.Elements()
where val2.Name.LocalName == "Math"
select new { name = val.Attribute("Name").Value, math = val2.Value };
foreach (var item in query6)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query7:");
var query7 = from val in root.Elements("Stu") where int.Parse(val.Element("Math").Value) < 90 select val;
foreach (var item in query7)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query8排序操作:");
var query8 = from val in root.Elements("Stu") orderby val.Attribute("Age").Value descending select val;
foreach (var item in query8)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query9按数学成绩降序操作:");
var query9 = from val in root.Elements("Stu") orderby val.Element("Math").Value descending select new { name = val.Attribute("Name").Value, Math = val.Element("Math").Value };
foreach (var item in query9)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query10,增加where条件的排序操作");
var query10 = from val in root.Elements("Stu") where int.Parse(val.Attribute("Age").Value) == 18 orderby val.Element("Math").Value descending select new { Name = val.Attribute("Name").Value, Age = val.Attribute("Age").Value, Math = val.Element("Math").Value };
foreach (var item in query10)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结果query11");
var query11 = from val in root.Elements("Stu") where val.ElementsAfterSelf("Stu").Count() > 4 select val;
foreach (var item in query11)
{
Console.WriteLine(item);
}
Console.WriteLine("查询结构query12");
var query12 = from val in root.Elements("Stu") where val.ElementsBeforeSelf("Stu").Count() > 4 select val;
foreach (var item in query12)
{
Console.WriteLine(item);
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交