LINQ生成XML格式数据与C#序列化成XML实例

作者:袖梨 2022-06-25

LINQ生成XML格式数据

 代码如下 复制代码
using System.Xml.Linq;
static void Main(string[] args)
        {
            //LINQ生成XML格式的数据,相比较把对象序列化成XML文件要灵活性好点using System.Xml.Linq;
            List list = new List
            {
                new Student{ID=1,Name="林书豪",Scores=new List{80,90,100}},
                new Student{ID=1,Name="张三丰",Scores=new List{77,88,99}}
            };
 
            var xml = new XElement("Root",
                from l in list
                let x = String.Format("{0},{1},{2}", l.Scores[0], l.Scores[1], l.Scores[2])
                select new XElement("Student",
                    new XElement("ID", l.ID),
                    new XElement("Name", l.Name),
                    new XElement("Scores", x)
                    )
                );
            Console.Write(xml);
            Console.Read();
 
            /*
           
               
                    1
                    林书豪
                    80,90,100
               

               
                    2
                    张三丰
                    877,88,99
               

           

            */
        }
 
class Student
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public List Scores;
}

 
序列化成XML文件

对象序列化成XML

 代码如下 复制代码

using System.Xml.Serialization;
public void WriteXML()
    {
        Product[] productlist = new Product[] {
            new Product(){Name="苹果",Price=5.5},
            new Product(){Name="橘子",Price=2.5},
            new Product(){Name="干柿子",Price=16.00}
        };
        XmlSerializer writer = new XmlSerializer(typeof(Product[]));
 

        StreamWriter file = new StreamWriter(Server.MapPath("product.xml"));
        writer.Serialize(file, productlist);
        file.Close();
    }
 

    public class Product
    {
        public string Name { get; set; }
        public double Price { get; set; }
    }
生成一个XML文件:

 

    苹果

    5.5

 

 

    橘子

    2.5

 

 

    干柿子

    16

 

相关文章

精彩推荐