如何在storedprocedre中使用xmlnamespace验证XML节点 [英] How can I validate XML node using xmlnamespace in storedprocedre
问题描述
大家好,
如何在storedprocedre中使用xmlnamespace验证xml节点
i已尝试过它
但它的说法是,
关键字'IF'附近的语法不正确。
我的代码是:
ALTER程序mch
@xmldoc XML
AS
BEGIN
;使用XMLNAMESPACES('http://MCH.com/IF002/SD/MCGG/ MCH'为ns0)
IF(SELECT @ xmldoc.exist('// ns0:Brand_In / MC / MC1')AS BrandData)= 0 BEGIN RAISERROR('MC1在文档中不可用',16,1);回归;结束
结束
我尝试过:
如何在storedprocedre中使用xmlnamespace验证xml节点
Hi all,
how can i validate xml node using xmlnamespace in storedprocedre
i have tried it
but its saying that ,
Incorrect syntax near the keyword 'IF'.
My code is :
ALTER PROCEDURE mch
@xmldoc XML
AS
BEGIN
;WITH XMLNAMESPACES('http://MCH.com/IF002/SD/MCGG/MCH' as ns0)
IF(SELECT @xmldoc.exist('//ns0:Brand_In/MC/MC1') AS BrandData)=0 BEGIN RAISERROR('MC1 not available in document',16,1); RETURN ; END
END
What I have tried:
how can i validate xml node using xmlnamespace in storedprocedre
推荐答案
命名空间声明必须是select语句的一部分。试试这个:
The namespace declaration must be part of the select statement. Try this:
DECLARE @BrandData BIT
; WITH XMLNAMESPACES('http://MCH.com/IF002/SD/MCGG/MCH' as ns0)
SELECT @BrandData = @xmldoc.exist('//ns0:Brand_In/MC/MC1')
IF @BrandData=0 BEGIN RAISERROR('MC1 not available in document',16,1); RETURN ; END
这篇关于如何在storedprocedre中使用xmlnamespace验证XML节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!