将xml文件导入/导出到sql server

时间:2013-11-11 08:53:44

标签: sql-server xml asp.net-mvc-4

我正在研究MVC4,我遇到了解决方案,我必须提供表格备份为xml格式。我想要的是基于一些参数,如果特定表中存在数据,我必须获取这些数据,然后为该数据生成xml。 例如。我有3张桌子

表A,包含FirstName,MiddleName,LastName列 表B,列为FirstName,LastName 表C,列为FirstName,MiddleName,LastName

和参数将是firstname,middlename,lastname

例如:如果我想获取所有带有firstname和lastname参数的记录....所以如果在上面3个表中firstname和lastname匹配。

1.每个表的记录只能转换为每个表的xml

我搜索'for xml,raw,auto,path'等...但是可以得到结果。我应该使用哪一个?

因为每个表制作xml文件后......我必须将这些文件还原到sql server吗?

任何人都可以建议我如何以最佳方式实现此功能。

感谢。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用LINQ to XML?

样本可以是:

XElement xTableA = new XElement
    (
        "TableA",
        TableA
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

XElement xTableB = new XElement
    (
        "TableB",
        TableB
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

XElement xTableC = new XElement
    (
        "TableC",
        TableC
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

xTableA.Save(filenameA);
xTableB.Save(filenameB);
xTableC.Save(filenameC);

这样您就有三个xml文件,其中包含您准备导入的请求数据...