Ada situasi di mana seseorang mungkin tidak ingin XML yang terbentuk dengan baik - yang saya (dan mungkin poster asli) temui adalah menggunakan teknik Untuk Jalur XML untuk mengembalikan daftar bidang tunggal item 'anak' melalui kueri rekursif. Informasi lebih lanjut tentang teknik ini ada di sini (khususnya di bagian 'Metode blackbox XML'):Menggabungkan Nilai Baris di Transact-SQL
Untuk situasi saya, melihat 'H&E' (noda patologi) berubah menjadi 'XML yang terbentuk dengan baik' adalah kekecewaan yang nyata. Untungnya, saya menemukan solusi... halaman berikut membantu saya memecahkan masalah ini dengan relatif mudah dan tanpa harus merancang ulang kueri rekursif saya atau menambahkan penguraian tambahan di tingkat presentasi (untuk ini juga untuk situasi lain/masa depan di mana anak saya -baris bidang data berisi karakter XML yang dicadangkan):Menangani Karakter Khusus dengan FOR XML PATH
EDIT:kode di bawah ini dari entri blog yang dirujuk.
select
stuff(
(select ', <' + name + '>'
from sys.databases
where database_id > 4
order by name
for xml path(''), root('MyString'), type
).value('/MyString[1]','varchar(max)')
, 1, 2, '') as namelist;