Er zijn situaties waarin iemand geen goed gevormde XML wil - degene die ik (en misschien de originele poster) tegenkwam, gebruikte de For XML Path-techniek om een enkele veldlijst met 'onderliggende' items te retourneren via een recursieve query. Meer informatie over deze techniek vindt u hier (specifiek in het gedeelte 'De blackbox XML-methoden'):Rijwaarden samenvoegen in Transact-SQL
Voor mijn situatie was het een echte teleurstelling om 'H&E' (een pathologische vlek) om te zetten in 'goed gevormde XML'. Gelukkig heb ik een oplossing gevonden... de volgende pagina heeft me geholpen dit probleem relatief eenvoudig op te lossen en zonder mijn recursieve query opnieuw te ontwerpen of extra parsing op presentatieniveau toe te voegen (zowel voor dit als voor andere / toekomstige situaties waarin mijn kind -rijen gegevensvelden bevatten gereserveerde XML-tekens):Omgaan met speciale tekens met FOR XML PATH
EDIT:onderstaande code uit de blogpost waarnaar wordt verwezen.
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;