1
我使用的是SQL SERVER 2008 R2。我有一個存儲過程,它使用FOR XML將結果作爲XML返回。這裏是存儲過程是什麼樣子:Sql Server FOR XML - 防止格式錯誤的xml的編碼結果
CREATE PROCEDURE [dbo].[myproc]
(
@ID int,
)
AS
SET NOCOUNT ON
BEGIN
SELECT
t1.FirstField
t2.AnotherField
t1.ThirdField
FROM table t1
INNER JOIN table2 t2 ON t1.ID = t2.ID
WHERE t1.id = @ID FOR XML RAW ('project'), ELEMENTS;
END
可正常工作,併產生這樣的XML:
<project>
<FirstField>First field data</FirstField>
<AnotherField> Another field data</AnotherField>
<ThirdField>Third field data</ThirdField>
</project>
這就是我想要的。然而我擔心的是,當XML中有特殊的字符時,如<和>會不會搞砸了,並使XML格式錯誤?有沒有辦法解決這個問題?我可以在調用這個存儲過程的代碼中進行一些檢查,看看它是否是有效的XML,但到了發生的時間不會太晚?如果任何人可以提出一些建議,我應該如何處理這個問題,我將不勝感激。非常感謝。
爲什麼你不測試它,並把一些數據放在你的表中? :)此外,你想要的可能是看CDATA標籤。不知道你是否可以通過你的查詢或其他東西來添加它們.. – 2012-07-18 13:16:21