2013-03-26 64 views
0

我想解析SQL Server存储过程中的以下XML并根据此XML更新一些表。我已经使用OPENXML实现了相同的功能,但是现在在XML的开头添加了另外一行,因为这样会出现意想不到的错误。是否有可能以某种方式跳过第一个标签独自在解析SQL Server存储过程中的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

好,没有最完美的解决方案,但会拿回来working:

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

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

基本上你可以利用REPLACE函数来替换不需要的头字符串。

+0

出现此错误:参数数据类型xml对替换函数的参数1无效。 – Bharath 2013-03-26 14:11:21