如何在storedprocedre中使用xmlnamespace验证XML节点 [英] How can I validate XML node using xmlnamespace in storedprocedre

查看:72
本文介绍了如何在storedprocedre中使用xmlnamespace验证XML节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆