0
我在SQL 2010中的兩個表之間擁有主子關係。我想將這些數據轉換爲可發送給供應商的XML文件。我在C#中使用Visual Studio 2012.將關係型SQL數據編寫爲XML
我使用強類型數據集嗎?我是否將數據作爲平面文件寫入,每行都是連接記錄?
TIA - Jeff。
我在SQL 2010中的兩個表之間擁有主子關係。我想將這些數據轉換爲可發送給供應商的XML文件。我在C#中使用Visual Studio 2012.將關係型SQL數據編寫爲XML
我使用強類型數據集嗎?我是否將數據作爲平面文件寫入,每行都是連接記錄?
TIA - Jeff。
我已經嘗試瞭解決方案的SQL Server部分。您可以將查詢放入存儲過程,然後使用C#代碼調用存儲過程。這將允許您直接在程序中獲取XML。這是SQL Server 2008 R2。
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具有一個['FOR XML'](http://technet.microsoft.com/en-us/library/ms178107.aspx)功能,可以在其中構建XML對你來說,如果這會有所幫助的話。 –
您可以查看FOR XML() http://technet.microsoft.com/en-us/library/ms178107.aspx –