Existují situace, kdy člověk nemusí chtít dobře vytvořený XML – ten, na který jsem (a možná i původní plakát) narazil, používal techniku For XML Path k vrácení jednoho pole seznamu „podřízených“ položek prostřednictvím rekurzivního dotazu. Více informací o této technice je zde (konkrétně v sekci 'Metody XML blackboxu'):Zřetězení hodnot řádků v Transact-SQL
Pro mou situaci bylo vidět 'H&E' (patologická skvrna) transformované do 'dobře vytvořeného XML' skutečným zklamáním. Naštěstí jsem našel řešení... následující stránka mi pomohla vyřešit tento problém poměrně snadno a bez nutnosti předělávat můj rekurzivní dotaz nebo přidávat další analýzu na úrovni prezentace (pro toto i pro další/budoucí situace, kdy moje dítě -řádková datová pole obsahují vyhrazené znaky XML):Zpracování speciálních znaků pomocí FOR XML PATH
UPRAVIT:níže uvedený kód z odkazovaného blogového příspěvku.
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;