我試圖從SQL Server生成XML,並且需要我選擇的字段位於nodevalue而不是屬性中。使用SQL Server中的NodeValues生成XML
我現在的SQL是: -
SELECT賬戶號碼帳戶與FOR XML AUTO
然後產生XML,如: -
<Account AccountNumber="12345" />
,我想它喜歡顯示爲: -
<AccountNumber>12345</AccountNumber>
任何人都可以指向正確的方向嗎?
我試圖從SQL Server生成XML,並且需要我選擇的字段位於nodevalue而不是屬性中。使用SQL Server中的NodeValues生成XML
我現在的SQL是: -
SELECT賬戶號碼帳戶與FOR XML AUTO
然後產生XML,如: -
<Account AccountNumber="12345" />
,我想它喜歡顯示爲: -
<AccountNumber>12345</AccountNumber>
任何人都可以指向正確的方向嗎?
元素添加到末尾:
SELECT AccountNumber FROM Account FOR XML AUTO, ELEMENTS
您也應該檢查FOR XML PATH(...),ROOT(....)
結構可以在SQL Server 2008和更新:MSDN docs
這將讓你
所以,你可以如創建類似:
SELECT
AccountNumber, AcctID AS '@AcctID',
AccountHolder
FROM
dbo.Accounts
FOR XML PATH('Account'), ROOT('AllAccounts')
,你會得到這樣的事情作爲輸出:
<AllAccounts>
<Account AcctID="42">
<AccountNumber>12345</AccountNumber>
<AccountHolder>John Doe</AccountHolder>
</Account>
<Account AcctID="4711">
<AccountNumber>54321</AccountNumber>
<AccountHolder>Jane Willis-Doe</AccountHolder>
</Account>
..... (possibly more <Account> elements) ......
</AllAccounts>
隨着FOR XML PATH
方法,你可以很容易微調您生成的XML應該是什麼樣子。