如何从XML中替换<
符号?我需要理解这个概念,例如我们将&
替换为xml中的&
。
例如:
Declare @xml xml,@xmlType nvarchar(max)
select @xmlType = '<root><stuff><test>something < this will error</test></stuff</root>'
select @xml = REPLACE(@xmlType, '<', '<')
select @xml
如果我这样做,那么答案将是
'<root><stuff><test>something < this will error</test></stuff</root>'....
但我需要回答
<root><stuff><test>something < this will error</test></stuff></root>
任何人都可以通过SQL查询/存储过程/ T-SQL来帮助我解决这个问题吗?
如何解决此问题:
行:35,ERR_MSG:XML解析:第1行,第1088个字符,非法限定名称字符
提前致谢
答案 0 :(得分:0)
你需要确保'&lt;之间有空格。 '或其他一些限定词不能接受另一个'&lt;'。
Declare
@xml xml
,@xmlType nvarchar(max)
SET @xmlType = '<root><stuff><test>something < this will error</test></stuff></root>'
SET @xmlType = REPLACE(@xmlType, ' < ', ' < ')
SET @xml = CAST(@xmlType AS XML)
SELECT @xml