2012-11-08 74 views
2

我有一個varchar(max)字段,其中包含XML數據。我需要通過刪除標籤之間的空格來清除它。對於如:根據SQL Server中的模式修剪空格字符串

</tns:time_changed> <tns:changed_properties> 

應進行清潔

</tns:time_changed><tns:changed_properties> 

我必須這樣做在一個單一的查詢,我不能使用替代所有空格,因爲有在內容其他相關的空間。

+1

我認爲將其轉換爲原生XML數據類型將刪除空白區域 –

+0

這正是我最初想要做的,但空格導致錯誤「text/xmldecl not in the beginning of input」 – gdanton

+0

對不起,發現錯誤是由於<?xml version =「1.0」?>。刪除它,它會自動照顧空間。謝謝! – gdanton

回答

0

轉換爲XML類型,它會自動把空間的照顧。 一個空白取代了

<?xml version="1.0"?> 
從外地

,它擺脫了,我是越來越「文/ xmldecl沒有輸入的開始」的錯誤。

0

嘗試這樣的:

UPDATE table 
SET xmlColumnName = REPLACE (xmlColumnName , '> <' , '><'); 
+0

XML在其中的標籤之間沒有固定數量的空格,並因不同的標籤而異。我正在尋找REPLACE(xmlColumnName,['for'(n個空格)<'], '><')的模式。 – gdanton

+1

因爲我認爲這是一次努力,所以可以使用上面的更新查詢不同數量的空格。 –