SQL表转换为xml
本文关键字:xml 转换 SQL | 更新日期: 2023-09-27 18:02:19
我在sql数据库中有几个表,其中一个包含其他人的名字,但不是全部。我需要将表名(来自那个特殊的表名)加载为列表(xdocument),并使用foreach和一个简单的查询将所有表名转换为一个xml文件。数据库和应用程序在同一个azure帐户上。
我没有这样的桌子
CREATE TABLE [dbo].[table_name]
(
[P_ID] INT NOT NULL,
[name] NVARCHAR (255) NOT NULL,
PRIMARY KEY CLUSTERED ([P_ID] ASC)
);
和一个只包含
的varchartable_name1
table_name2
table_name4
我使用那个简单的查询
SELECT
P_ID "Table_name2/@id",
nazwa "Table_name2"
FROM Table_name2
FOR XML PATH('');
和get结果,但只针对一个表
的东西但我想要的结果在一个XML使用"file_converting_tables_to_xml.cs"在我的应用程序
<spinery>
<spiner title="Table_name1">
<wart id="1">black</wart>
</spiner>
<spiner title="Table_name3">
<wart id="1">white</wart>
</spiner>
或类似的
我所发现的一切都不适合我,
所以请帮忙
如果这是SQL Server,你可以试试这个:
——创建两个表
CREATE TABLE [dbo].Table_name1
(
[P_ID] INT NOT NULL,
[name] NVARCHAR (255) NOT NULL,
PRIMARY KEY CLUSTERED ([P_ID] ASC)
);
CREATE TABLE [dbo].Table_name2
(
[P_ID] INT NOT NULL,
[name] NVARCHAR (255) NOT NULL,
PRIMARY KEY CLUSTERED ([P_ID] ASC)
);
GO
——用你的样本数据填充
INSERT INTO dbo.Table_name1 VALUES(1,'black');
INSERT INTO dbo.Table_name2 VALUES(1,'white');
GO
——使用UNION ALL
来组合结果和FOR XML PATH
来创建合适的命名
SELECT 'Table_name1' AS [@title]
,P_ID [wart/@id]
,name [wart]
FROM Table_name1
UNION ALL
SELECT 'Table_name2' AS [@title]
,P_ID [wart/@id]
,name [wart]
FROM Table_name2
FOR XML PATH('spiner'),ROOT('spinery');
——清理(如果是真实数据要小心!)
GO
--DROP TABLE dbo.Table_name1;
--DROP TABLE dbo.Table_name2;