Es gibt Situationen, in denen eine Person kein wohlgeformtes XML haben möchte - diejenige, auf die ich (und vielleicht das ursprüngliche Poster) gestoßen bin, war die Verwendung der For XML Path-Technik, um eine einzelne Feldliste von "untergeordneten" Elementen über eine rekursive Abfrage zurückzugeben. Weitere Informationen zu dieser Technik finden Sie hier (insbesondere im Abschnitt „Die Blackbox-XML-Methoden“):Verketten von Zeilenwerten in Transact-SQL
Für meine Situation war es eine echte Enttäuschung, zu sehen, wie „H&E“ (ein pathologischer Fleck) in „wohlgeformtes XML“ umgewandelt wurde. Glücklicherweise habe ich eine Lösung gefunden ... die folgende Seite hat mir geholfen, dieses Problem relativ einfach und ohne meine rekursive Abfrage neu zu gestalten oder zusätzliches Parsing auf Präsentationsebene hinzuzufügen (dafür sowie für andere/zukünftige Situationen, in denen mein Kind -rows-Datenfelder enthalten reservierte XML-Zeichen):Behandlung von Sonderzeichen mit FOR XML PATH
BEARBEITEN:Code unten aus dem referenzierten Blogbeitrag.
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;