-1

大家好,我想知道是否有人对此有任何见解。忍受我很新的 sql server 和学习。

我有一个(C:\xml_files\)包含大约 100 多个 xml 文件的文件夹。我想知道是否有办法上传此文件夹中的所有文件并将它们显示在表格中,其中每一行代表不同文件的结果。所有 xml 文件的格式都相同。

我目前正在使用 MS Sql Server 2012

4

1 回答 1

1

Lets say following is the structure of your xml file:

<Books>
  <Book>
    <Title>Abzc</Title>
    <Pages>207</Pages>
  </Book>
  <Book>
    <Title>xyz</Title>
    <Pages>312</Pages>
  </Book>
  <Book>
   <Title>ghj</Title>
   <Pages>123</Pages>
  </Book>
</Books>

So you can use the following code to store it in a database:

declare @count int, @filename varchar(20)
set @count=1
while @count<4
begin  

   select @filename=filename from test4 where id=@count
   EXEC('INSERT INTO Books (Title, Book_Pages)
    select c3.value(''Title[1]'',''VARCHAR(100)''),
    c3.value(''Pages[1]'',''int'')  from(
    select  cast(c1 as xml)
    FROM OPENROWSET(
     BULK '''+@filename+''',SINGLE_BLOB) as T1(c1)
    )as T2(c2)
cross apply c2.nodes(''/Books/Book'') T3(c3)');
    set @count=@count+1
end
于 2013-07-18T19:49:10.133 回答