我有一個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