Ich habe hier ein Problem mit SQL und XML. Meine Abfrage sieht ungefähr so aus:
DECLARE @xml AS XML
SET @xml = ( SELECT * FROM MeineTabelle FOR XML RAW, ELEMENTS XSINIL, ROOT, XMLSCHEMA )
In der Tabelle werden unter anderem Barcode-Strings gespeichert, die auch mal so aussehen können: �
Ansich wäre das kein Problem, wenn ich den Wert dieser Spalte in einen DATA[]-Tag verpacken würde. Ich weiss nur nicht wie (wenn das überhaupt geht). Und das ganze sollte nach Möglichkeit generisch sein, denn es soll an verschiedenen Stellen mit XML gearbeitet werden, und ich möchte nicht jedes einzelne SELECT von Hand auseinanderpflücken müssen.
Nach einigen Versuchen bin ich nun auf folgende Lösung gekommen:
DECLARE @xml NVARCHAR(MAX) SET @xml = N'<?xml version="1.0" encoding="UTF-16"?>' + ( SELECT * FROM MeineTabelle FOR XML RAW, ELEMENTS XSINIL, ROOT, XMLSCHEMA )
Nicht schön, aber es erfüllt seinen Zweck (für meinen Anwendungsfall).