我有一个XML字段的表。该XML字段的架构是类似这样的东西...插入XML字段以获取子元素的所有值?
<Root>
<Parent>
<Child>
<SomeValue>1</SomeValue>
</Child>
<Child>
<SomeValue>1</SomeValue>
</Child>
</Parent>
我知道如何获得第一,第二,第N someValue中使用此...
SELECT
Child.value('(SomeValue)[1]', 'int')
FROM XMLField.nodes("/Root/Parent/Child[1]") AS N(Child)
我试图使用Insert Into语句将所有的SomeValue节点值放入一个表中。问题是每个Parent可能有多个Child元素,我只知道如何一次抓一个。没有循环逻辑,有没有简单的方法来完成这一点? (每个SomeValue值应该是我插入表中的自己的记录)。
附加题:我发现这个例子会从一个单一的XML字段的第一个子元素的第一someValue中值。如果您能够想出一个解决方案,不仅可以从单个记录的字段中获取所有的SomeValue值,而且可以从表中的每个记录中的该字段获取所有的SomeValue值,那么您的答案会特别有用。
不错。 +1,因为这消除了我一次只能选择一个的问题(每个ChildNode只有一个SomeValue)。如果没有人能够回答如何对表格中的每条记录进行回答,我会将其设置为已接受的答案。 – N0Alias