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); }
Linq to XML详细操作
猜你喜欢
转载自blog.csdn.net/hhw199112/article/details/80779694
今日推荐
周排行