SQL Server存储过程中的XML解析错误

时间:2013-03-26 13:49:06

标签: sql sql-server xml xml-parsing

我想在SQL Server存储过程中解析下面的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>

1 个答案:

答案 0 :(得分:1)

嗯,不是最优雅的解决方案,但会让它重新开始工作:

在准备XML文档之前,请在包含XML的变量上运行此语句:

SET @XMLVariable = REPLACE(@XMLVariable, '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', '')

基本上你正在利用REPLACE函数来替换不必要的标题字符串。