我可以在sql server中一次只解析xml中的一个节点吗?

时间:2011-03-30 21:09:09

标签: sql xml parsing nodes

如果我有以下xml:

<Main>
  <Group>
    <Insert />
  </Group>

  <Group>
    <Insert />
  </Group>

  ...
</Main>

我知道如果我使用openxml(@xml, 'Main/Group/Insert',1),我会解析所有<Insert>

有没有办法我只能读取一个组节点,解析其Insert节点,然后读取下一个组节点并解析其Insert节点?

1 个答案:

答案 0 :(得分:0)

OpenXML或更新的XML数据类型和XPath将XML视为一个表,一次性提取并将结果视为多行。

您要问的是,对于普通的SQL Server表,您可以选择一条记录,然后读取下一条记录吗?当然 - 比如使用游标或WHILE循环 - ,但为什么呢?

考虑一下你想用它做什么,你很快就会将它作为数据集正确地处理,并将解析后的结果作为记录,并将SET逻辑应用于从中检索的值。