0

我想在 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>
4

1 回答 1

1

好吧,这不是最优雅的解决方案,但会让它恢复工作:

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

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

基本上,您正在利用该REPLACE功能来替换不必要的标题字符串。

于 2013-03-26T13:59:30.393 回答