LinqToXml (一) Create Xml file By Dom /Linq

时间:2023-03-09 13:33:54
LinqToXml (一) Create  Xml file   By Dom /Linq

目前,在xml 应用编程领域比较流行的开发模型是W3C 提供的DOM(文档对象模型),在.net Framework 通过命名空间 System.Xml 对该技术提供了支持。随着Linq to XMl 的诞生, .net 3.5 之后,我们可以使用Linq to sql 操作XMl 。以下是通过两种方式创建相同结构的xml文件。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq; namespace Linq2Xml
{
class Program
{
static void Main(string[] args)
{
DateTime dt1 = DateTime.Now;
CreateXmlByDom();
DateTime dt2 = DateTime.Now;
TimeSpan ts1 = dt2 - dt1;
DateTime dt3 = DateTime.Now;
CreateXmlByXml();
DateTime dt4 = DateTime.Now;
TimeSpan ts2 = dt4 - dt3; Console.WriteLine("采用Dom构建xml耗时:"+ts1.Milliseconds);
Console.WriteLine("采用Linq构建xml耗时:" + ts2.Milliseconds);
Console.ReadKey();
} public static void CreateXmlByDom(int n)
{
XmlDocument doc = new XmlDocument();
XmlElement booklist = doc.CreateElement("booklist");
XmlElement book, author;
for (int i = ; i < n; i++)
{
book = doc.CreateElement("book");
book.SetAttribute("name", "book1-"+i);
author = doc.CreateElement("author");
author.InnerText = "李"+i+"金";
book.AppendChild(author);
booklist.AppendChild(book);
} doc.AppendChild(booklist);
doc.Save("c:/xmlttt.xml");
} public static void CreateXmlByXml(int n)
{
XElement[] bookArray =new XElement[n] ;
for (int i =;i< n;i++)
{
bookArray[i] = new XElement("book", new object[]
{
new XAttribute("name","book1-"+i),
new XElement("author","李"+i+"金")
});
}
XElement booklist = new XElement("booklist", bookArray);
XDocument xdoc = new XDocument();
xdoc.Add(booklist);
xdoc.Save("c:/xmlttt2.xml");
}
}
}