xml读取文件并写入xml文件

时间:2019-06-13 18:33:13

标签: xml ssis etl dataflowtask

我有以下格式的xml数据。我想将其转换为适当的xml格式,在这里我可以使用数据流任务-> xml源组件将数据导入数据库。请帮我该怎么办?

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

1 个答案:

答案 0 :(得分:0)

给定的xml格式正确,您可以通过将xml保存在记事本中并将其另存为xml进行检查。然后使用Internet Explorer打开文件,如果文件中没有错误,则将获得xml标记。

如果您使用的是DFT XML源组件,则可以提供xml文件的路径,并在同一位置生成xsd。如果您使用的是变量,请提供特定的变量名称。

创建带有列的表,以将ID的数据类型存储为nvarchar(50),并在OLEDB目标中使用此表。 enter image description here

enter image description here

在执行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)