我已經閱讀了一些關于node()從 xml 中提取資料的Internet 重新分級方法的文章。
我有這個 xml:
<root><startsite personID="1" SaleID="2" regionID="3"/> </root>
我想從 xml 中獲取 personID、SaleID、region ID。我試過的是:
SELECT T.c.query('.') AS result
FROM @x.nodes('/Root/startsite ') T(c)
但它顯示我錯誤。你能幫忙嗎?
uj5u.com熱心網友回復:
您應該如上所述修復 xml 并使用“值”方法來提取資料。
DECLARE @x XML
SET @x='<root><startsite personID="1" SaleID="2" regionID="3"/></root>'
SELECT c.value('@personID', 'Int') As personID,
c.value('@SaleID', 'Int') As SaleID,
c.value('@regionID', 'Int') As regionID
FROM @x.nodes('/root/startsite') T(c)
uj5u.com熱心網友回復:
基本語法如下
nodes (XQuery) as Table(Column)
然后查詢從每一行回傳背景關系節點
DECLARE @x XML
SET @x='<Root>
<row id="1"><name>Larry</name><oflw>some text</oflw></row>
<row id="2"><name>moe</name></row>
<row id="3" />
</Root>'
SELECT T.c.query('.') AS result
FROM @x.nodes('/Root/row') T(c)
GO
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347762.html
標籤:sql-server xml
