2

我有以下格式的 xml 数据。我想将其转换为正确的 xml 格式,我可以在其中使用数据流任务-> xml 源组件将数据导入数据库。请帮我看看应该怎么做?

<OrderWithProfile Ver="1.0" System="abc" Profile="test">
<Users ID="aaa">
</Users><Users ID="bbb">
</Users><Users ID="ccc"></Users></OrderWithProfile>
4

1 回答 1

0

给定的 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)
于 2019-06-17T14:36:29.610 回答