I have XML structure which is input param for my stored procedure. It contains element with & (which is escaped in XML). When I extract that element to
VARCHAR I receive & which is not valid XML character. I need to escape it, before converting to XML again. How to do that without
I have the following text:
param1=xyz¶2=dasdasdfdas¶m3. It is a part of query string. I converted it to
XML and send it as a part of XML structure:
<zzz xmlns="http://example.com"> <aaa>aaa</aaa> <bbb>param1=xyz&para2=dasdasdfdas&param3</bbb> </zzz>
Inside the stored procedure I need to extract it. I do that with:
ISNULL(NULLIF(LTRIM(RTRIM(@XMLInput.value('declare default element namespace "http://example.com"; (zzz/bbb)', 'NVARCHAR(250)'))), ''), '');
I after that the value contains normal text (&-s are not escaped – &).
After some processing I need to put that string inside other XML. I make:
CAST( ... AS XML);
Because &-s are not escaped I got error.