zoukankan      html  css  js  c++  java
  • c# LINQ 将数据集转换成XML

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;

    namespace mytest
    {

        public class Program
        {
            static void Main(string[] args)
            {
                List<Student> students = new List<Student>() {
               
                    new Student{First="Svetlana",Last="Omelchenko",ID=111,Street="123 Main Street",City="Seattle",Scores=new List<int>(){97, 92, 81, 60}},
                    new Student{First="Claire",Last="O’Donnell",ID=112,Street="124 Main Street",City="Redmond",Scores=new List<int>(){75, 84, 91, 39}},
                    new Student{First="Sven",Last="Mortensen",ID=113,Street="125 Main Street",City="Lake City",Scores= new List<int> {88, 94, 65, 91}},
                };

                List<Teacher> teachers = new List<Teacher>(){   
               
                    new Teacher {First="Ann", Last="Beebe", ID=945, City = "Seattle"},
                    new Teacher {First="Alex", Last="Robinson", ID=956, City = "Redmond"},
                    new Teacher {First="Michiyo", Last="Sato", ID=972, City = "Tacoma"}
                };

                //用查询语法生成xml格式
                var studentXML = new XElement("Root", from student in students
                                                      let x = String.Format("{0},{1},{2},{3}", student.Scores[0], student.Scores[1], student.Scores[2], student.Scores[3])
                                                      select new XElement("student",
                                                              new XElement("First", student.First),
                                                              new XElement("Last", student.Last),
                                                              new XElement("Scores", x)));

                //用Lambda表达式(方法语法)生成xml格式
                var teacherXML = new XElement("Root", teachers.Select(p => new XElement("Teacher", new XElement("First", p.First),
                                                                          new XElement("Last", p.Last),
                                                                          new XElement("Id", p.ID),
                                                                          new XElement("City", p.City))));

                Console.WriteLine("---------开始打印----------------------");
                Console.WriteLine(studentXML);
                Console.WriteLine("----------------------------------------");
                Console.WriteLine(teacherXML);
                Console.WriteLine("----------------------------------------");
                foreach (var i in teacherXML.Nodes())
                {
                    Console.WriteLine(i);//打印第一个节点子节点的集合
                }
                Console.WriteLine("--------------打印完成------------------");
                Console.ReadKey();

            }

        }

        class Student
        {
            public string First { get; set; }
            public string Last { get; set; }
            public int ID { get; set; }
            public string Street { get; set; }
            public string City { get; set; }
            public List<int> Scores;
        }
        //***********************************************************************************************************
        //Module:Teacher.cs
        //Author:limeteor
        //Create Date:2008-06-27
        //***********************************************************************************************************
        class Teacher
        {
            public string First { get; set; }
            public string Last { get; set; }
            public int ID { get; set; }
            public string City { get; set; }

        }

    }

  • 相关阅读:
    mysql进阶语句优化---day40
    pymysql基本语法,sql注入攻击,python操作pymysql,数据库导入导出及恢复数据---day38
    单表查询,多表查询,子查询---day37
    mysql-数据类型,类型约束,联合唯一约束,表与表之间的关系,存储引擎---day36
    mysql安装及增删改查操作---day35
    死锁,互斥锁,递归锁,线程事件Event,线程队列Queue,进程池和线程池,回调函数,协程的使用,协程的例子---day33
    进程之间共享数据Manager,线程相关使用Thread,用类定义线程,守护线程setDaemon,线程锁Lock,线程信号量Semaphore---day32
    Docker部署go-fastdfs
    Docker部署gitlab
    Docker部署hasura
  • 原文地址:https://www.cnblogs.com/niaowo/p/2167740.html
Copyright © 2011-2022 走看看