SQL Server存储过程中的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

我想在SQLServer存储过程中解析下面的XML,并基于此XML更新一些表。我已经使用
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无效。