我需要一些幫助從存儲XML數據的nvarchar(max)列中提取數據。從Nvarchar(MAX)返回XML數據
以下是樣本數據。
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>B1-10</string>
<string>B2-20</string>
<string>B2-20</string>
</ArrayOfstring>
我已經嘗試這樣做,只返回NULL當時的錯誤,走出去「的XML解析:1號線,字符2,非法限定名稱字符」
SELECT cast(COLUMNNAME AS xml).value('/ArrayOfString[1]/String[1]', 'VARCHAR(MAX)')
FROM dbo.TABLENAME
我已經試過無數的想法關閉這真棒網站似乎都有相同的結果。我在這裏錯過了什麼?在此先感謝您的幫助。
不知道我理解你爲什麼鑄造XML如果你說的列存儲XML類型? – user2065377
如果您需要XML數據作爲關係,您可以查看這篇文章http://stackoverflow.com/questions/38826788/read-value-from-a-complex-xml-structure-using-sql-server?rq=1 – user2065377
出於好奇,你是否首先嚐試在CAST AS VARCHAR(4000)中包裝值來「下調」它? – 3BK