我有以下格式的xml数据。我想将其转换为适当的xml格式,在这里我可以使用数据流任务-> xml源组件将数据导入数据库。请帮我该怎么办?
<OrderWithProfile Ver="1.0" System="abc" Profile="test">
<Users ID="aaa">
</Users><Users ID="bbb">
</Users><Users ID="ccc"></Users></OrderWithProfile>
答案 0 :(得分:0)
给定的xml格式正确,您可以通过将xml保存在记事本中并将其另存为xml进行检查。然后使用Internet Explorer打开文件,如果文件中没有错误,则将获得xml标记。
如果您使用的是DFT XML源组件,则可以提供xml文件的路径,并在同一位置生成xsd。如果您使用的是变量,请提供特定的变量名称。
创建带有列的表,以将ID的数据类型存储为nvarchar(50),并在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)