Då jag kör min XML sträng i sp_xml_preparedocument så får jag en felkod om något är fel typ om det finns ett '&' tecken i item data. Problemet är att man inte får igenom några rader om någon rad är felaktig. Finns det något smidigt sätt att lägga <item data... raderna rad för rad och då kunna konkatenera ihop de eventuella felkoderna som uppstår för att kunna returnera det som går dåligt. men inserta det som går bra i min test tabell ? DVS i exempel nedan inserta 3 rader men returnera felkod för rad 4 Tror inte det. Jag gissar att du måste stoppa in korrekt XML för att det ska fungera...XML i SQL server Stored procedure
<root>
<item data="NB1 "/>
<item data="NB2 "/>
<item data="NB3 "/>
<item data="NB4 & "/>
</root>
EXEC sp_xml_preparedocument @hDoc output, @ITEM_Telegram
INSERT TEST(status, event_id,DATA)
SELECT @status, @event_id, data
FROM OPENXML(@hdoc, '/root/item', 2)
WITH (DATA varchar(300) '@data')Sv: XML i SQL server Stored procedure
(& är escape tecken, så skall det vara ett & skall det stå & annars är det felaktig XML-syntax..)
Du måste tvätta datat först eller se till att det är rätt från källan.