我有以下格式的 xml 数据。我想将其转换为正确的 xml 格式,我可以在其中使用数据流任务-> xml 源组件将数据导入数据库。请帮我看看应该怎么做?
<OrderWithProfile Ver="1.0" System="abc" Profile="test">
<Users ID="aaa">
</Users><Users ID="bbb">
</Users><Users ID="ccc"></Users></OrderWithProfile>
我有以下格式的 xml 数据。我想将其转换为正确的 xml 格式,我可以在其中使用数据流任务-> xml 源组件将数据导入数据库。请帮我看看应该怎么做?
<OrderWithProfile Ver="1.0" System="abc" Profile="test">
<Users ID="aaa">
</Users><Users ID="bbb">
</Users><Users ID="ccc"></Users></OrderWithProfile>
给定的 xml 格式是否正确,您可以通过将 xml 保存在记事本中并将其保存为 xml 来检查它。然后使用 Internet Explorer 打开文件,如果文件中没有错误,您将获得 xml 标签。
如果您使用的是 DFT XML 源组件,那么您可以提供 xml 文件的路径并在同一位置生成 xsd。如果您使用的是变量,请给出特定的变量名称。
使用列创建表以存储数据类型为 nvarchar(50) 的 ID,并在 OLEDB 目标中使用此表。
在执行 sql 任务中使用 sql 处理 xml
CREATE TABLE [dbo].[ID_detail](
[ID] [nvarchar](255) NULL
) ON [PRIMARY]
GO
DECLARE @x xml = '<OrderWithProfile Ver="1.0" System="abc" Profile="test">
<Users ID="aaa"></Users>
<Users ID="bbb"></Users>
<Users ID="ccc"></Users>
</OrderWithProfile>'
INSERT into ID_detail
SELECT a.b.value('./@ID','varchar(100)') AS ID
FROM @x.nodes('/OrderWithProfile/Users') as a(b)