C# 将关系SQL数据编写为XML
我在SQL 2010中有两个表之间的主子关系。我想将这些数据转换成一个XML文件,然后发送给供应商。我正在Visual Studio 2012中使用C# 我是否使用强类型数据集?我是否将数据作为一个平面文件写入,其中每一行都是一个连接的记录C# 将关系SQL数据编写为XML,c#,sql-server,xml,C#,Sql Server,Xml,我在SQL 2010中有两个表之间的主子关系。我想将这些数据转换成一个XML文件,然后发送给供应商。我正在Visual Studio 2012中使用C# 我是否使用强类型数据集?我是否将数据作为一个平面文件写入,其中每一行都是一个连接的记录 TIA-Jeff.我尝试了解决方案的SQL Server部分。您可以将查询放入存储过程中,然后使用C#代码调用存储过程。这将允许您直接在程序中获取XML。这是SQLServer2008R2 CREATE TABLE parent ( par
TIA-Jeff.我尝试了解决方案的SQL Server部分。您可以将查询放入存储过程中,然后使用C#代码调用存储过程。这将允许您直接在程序中获取XML。这是SQLServer2008R2
CREATE TABLE parent
(
parent_id INT IDENTITY PRIMARY KEY,
parent_name NVARCHAR(100)
);
CREATE TABLE child
(
child_id INT IDENTITY PRIMARY KEY,
parent_id INT REFERENCES parent(parent_id),
child_name NVARCHAR(100)
);
INSERT INTO parent
(parent_name)
VALUES ('JOHN');
INSERT INTO parent
(parent_name)
VALUES ('TOM');
INSERT INTO parent
(parent_name)
VALUES ('STACY');
INSERT INTO child
(parent_id,
child_name)
VALUES (1,
'Emily')
INSERT INTO child
(parent_id,
child_name)
VALUES (1,
'Ryan')
INSERT INTO child
(parent_id,
child_name)
VALUES (2,
'Krusna')
INSERT INTO child
(parent_id,
child_name)
VALUES (2,
'Uma')
INSERT INTO child
(parent_id,
child_name)
VALUES (2,
'Kali')
INSERT INTO child
(parent_id,
child_name)
VALUES (3,
'Jimbo')
INSERT INTO child
(parent_id,
child_name)
VALUES (3,
'Howard')
SELECT parent.parent_id AS "@parentId",
parent.parent_name AS "@parentname",
(SELECT child_id AS "@childId",
child_name AS "@childName"
FROM child
WHERE child.parent_id = parent.parent_id
FOR xml path ('Child'), type)
FROM parent
INNER JOIN child
ON ( parent.parent_id = child.parent_id )
FOR xml path ('Parent'), root ('Container'), type
没有SQL 2010。SQL Server有一个功能,它可以为您构造XML(如果有帮助的话)