有人可能會破壞這個Xquery的功能嗎?XQuery或XPath表達式解釋
'for $i in . return count(../*[. << $i])'
我可以告訴它是一個循環,但我對../*
和[]
混淆。這是我正在處理的這個SQL代碼。我想從一個XML文件中提取列名的節點:
SELECT distinct
Parent.Items.value('for $i in . return count(../*[. << $i])', 'int') as [Index],
Parent.Items.value('local-name(../.)', 'varchar(100)') as 'ParentItem',
Parent.Items.value('local-name(.)', 'varchar(100)') as 'ChildItem'
FROM dbo.MyFormResults
CROSS APPLY xmlformfields.nodes('/form/*') as Parent(Items)
我想這個XQuery來通過他們在我的XML文件中的順序我的XML節點進行迭代。它有點作品,但它是雙重計數,我不知道爲什麼......也許如果我更好地理解這個循環,我可以解決我的問題。
正如你可以在這裏看到索引:15,16和17是重複的。
謝謝!
謝謝!這有幫助! 你有什麼想法,爲什麼我得到重複的數字? – user3281388