将表数据另存为XML文件

时间:2010-08-02 05:59:04

标签: asp.net xml linq ado.net asp.net-3.5

以下是我的SQL语法:

CREATE TABLE [dbo].[Security_Module_Info](
    [Client_Company_ID] [smallint] NOT NULL,
    [Module_ID] [tinyint] NOT NULL,
    [Module_Name] [nvarchar](50) NULL,
    [Module_Description] [nvarchar](200) NULL,
    [Is_Active] [bit] NULL,
    [Active_Date] [smalldatetime] NULL,
    [Record_Status] [tinyNULL,
    [Maker_ID] [smallint] NULL,
    [Make_Date] [smalldatetime] NULL,
    [Checker_ID] [smallint] NULL,
    [Check_Date] [smalldatetime] NULL,
    [Authorizer_ID] [smallint] NULL,
    [Authorize_Date] [smalldatetime] NULL,
    [Record_Action_Type] [tinyint] NULL,
CONSTRAINT [PK_Security_Module_Info] PRIMARY KEY CLUSTERED 
(
    [Client_Company_ID] ASC,
    [Module_ID] ASC
) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

我想在项目的App_Data文件夹中创建 XML 文件。这个XML用作我的AspxMenu的源文件。我知道如何将 XML 数据绑定到AspxMenu,但我不知道如何创建 XML 文件。我想将此表信息保存为我的App_Data文件夹中的XML文件。帮助我将表信息保存为XML文件。

欢迎任何建议,建议和回复。

2 个答案:

答案 0 :(得分:2)

你正在寻找类似的东西吗?

System.Data.DataTable dtbl = new System.Data.DataTable();
//dtbl fill your datatable from DB here
dtbl.WriteXml("String FileName Where you want to store");

答案 1 :(得分:0)

您可以使用LINQ to XML(http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx)作为复制数据的方法。您不必转换为数据表。 LINQ to XML将通过循环结果集并将对象的数据写入XML来完成。此外,您可以尝试使用XML序列化程序(http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx)来转换对象,但如果该对象具有任何实体集关系,则可能会产生错误(XML序列化只能序列化到我认为的那么多级别)。

HTH。