如何将巨大(但简单)的分层XML文件加载到SQL表中

Mic*_*man 4 .net xml sql sql-server sql-server-2008

我有一个非常大的(2.5GB,55百万节点)XML文件,格式如下:

<TopNode>
    <Item id = "Something">
         <Link>A link</Link>
         <Link>Another link</Link>
         <Link>One More Link</Link>
    </Item>
    <Item id = "Something else">
         <Link>Some link</Link>
         <Link>You get the idea</Link>
    </Item>
  </TopNode>
Run Code Online (Sandbox Code Playgroud)

我想将其扁平化为以下SQL表:

 -----------------------------------------
 |  Item          |          Link        |
 -----------------------------------------
 | Something      |  A link              |
 | Something      |  Another link        |
 | Something      |  One More Link       |
 | Something Else |  Some Link           |
 | Something Else |  You get the idea    |
 |----------------|----------------------|
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL2008,如果这有所作为.

什么是最简单,最有效的方法(最好使用SQL Server/.NET堆栈)从A点到B点,记住涉及的文件大小?

Mat*_*sky 6

我会使用XML批量加载.这是一个很好的方法,因为它不会立即读取整个文档,而是流式传输.它也非常快,并且符合您坚持使用基于SQL Server的工具的要求.