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()函数),测试结果如图所示。