linq to xml创建XML文件

  LINQ to XML不但可以读取、查询XML文件,而且还可以创建XML文件。使用LINQ to XML操作XML文件是一件非常简单的事情。创建XML文件的具体方法如下:

(1)创建XDocument类的一个实例。

(2)按照XML文件的格式,分别把XML文件的XML声明、元素、注释等内容添加到XDocument类的实例中。

(3)调用Save()方法将XDocument类的实例保存为XML文件。

  下面的实例代码使用XDocument类创建了一个XML文件,并保存为“new.xml”文件。同时,将该文件的内容显示在网页中。具体步骤如下。

(1)设置保存新创建的XML文件的地址“Data/new.xml”,并转换为物理地址。

(2)创建XDocument类的一个实例doc。

(3)在doc实例中创建XML文件的XML声明。

(4)在doc实例中创建Books元素,并把该元素设置为XML文件的根元素。

(5)在doc实例中创建Book元素,并把该元素设置为Books元素的子元素。同时,Book元素还添加了ID属性、No元素、Name元素、Price元素和Remark元素。

(6)调用Save()方法将doc实例保存为XML文件“new.xml”。

(7)在网页显示doc实例的内容,即new.xml文件的内容。

(8)设置网页的输出格式为“text/xml”,并中止网页的输出操作。

private void CreateXmlFile()
         {   ///设置新的XML文件保存的地址
                   string xmlFilePath = Server.MapPath("Data/new.xml");
                   XDocument doc = new XDocument(
                            new XDeclaration("1.0","utf-8","yes"),
                            new XElement("Books",
                                     new XElement("Book",
                                               new XAttribute("ID","104"),                       ///添加属性ID
                                               new XElement("No","0004"),                     ///添加元素No
                                               new XElement("Name","Book 0004"),             ///添加元素Name
                                               new XElement("Price","300"),                    ///添加元素Price
                                               new XElement("Remark","This is a book 0004.")    ///添加元素Remark
                                               )
                                     )
                            );
                   ///保存为XML文件
                   doc.Save(xmlFilePath);
                   ///显示XML文件的内容
                   Response.Write(doc);
                   ///设置网页显示的形式为XML文件
                   Response.ContentType = "text/xml";
                   Response.End();
         }

Sample_11项目中的OperateXML.aspx页面测试了上述实例代码(CreateXmlFile()函数),测试结果如图所示。

 

加支付宝好友偷能量挖...


评论(0)网络
阅读(118)喜欢(0)asp.net-linq