我正在研究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吗?
任何人都可以建议我如何以最佳方式实现此功能。
感谢。
答案 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文件,其中包含您准备导入的请求数据...