SQL Server存储过程中的XML分析错误
我想在SQLServer存储过程中解析下面的XML,并基于此XML更新一些表。我已经使用SQL Server存储过程中的XML分析错误,sql,sql-server,xml,xml-parsing,Sql,Sql Server,Xml,Xml Parsing,我想在SQLServer存储过程中解析下面的XML,并基于此XML更新一些表。我已经使用OPENXML实现了相同的功能,但是现在在XML的开头又添加了一行,因此我得到了意外的错误。是否可以在解析时跳过第一个标记 解析代码: set @Lead= (select lead from openxml(@DOCHANDLE,'/DBO.TBLLEADS',2) with (lead INT 'LEAD'))` XML在此: <?xml version="1.0" en
OPENXML
实现了相同的功能,但是现在在XML的开头又添加了一行,因此我得到了意外的错误。是否可以在解析时跳过第一个标记
解析代码:
set @Lead= (select lead
from openxml(@DOCHANDLE,'/DBO.TBLLEADS',2) with (lead INT 'LEAD'))`
XML在此:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LEADS>
<LEAD>6680299</LEAD>
<JOBNO>50919</JOBNO>
<BEGINDATE>4-04-2013</BEGINDATE>
<ENDDATE>04/14/2013</ENDDATE>
</LEADS>
6680299
50919
4-04-2013
04/14/2013
好吧,这不是最优雅的解决方案,但会让它恢复工作:
在准备XML文档之前,请对包含XML的变量运行以下语句:
SET @XMLVariable = REPLACE(@XMLVariable, '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', '')
SET@XMLVariable=REPLACE(@XMLVariable,,“”)
基本上,您是在利用
REPLACE
函数将不必要的头字符串替换为零。出现以下错误:参数数据类型xml对于REPLACE函数的参数1无效。