Blog Detail

18 Aug 2009
Tejas Shah

Today, I have one requirement to check dynamically if a node exists in my xml or NOT. I have a stored procedure that receives XML and I need to check if the message information xml contains one Node or NOT. If that node exists then I need to execute that Stored Procedure by different logic and if not it should run with different logic. 
I figure it out by using EXISTS.
This is my XML, that I got as parameter.
DECLARE @ExportData XML
SELECT @ExportData =
'<Data Number="A123">
<BulkData>
<EachData Parts="Test1" />    <EachData Parts="Test2" />    <EachData Parts="Test3" />  </BulkData>
</Data>'

Now I need to check if "BulkData" node exists in XML, then I need to write different logic to get the result. 
So, I used this
SELECT @ExportData.exist('(//BulkData)')

This will return "1" if node is exists else return "0".
That's it. I can write based on the return result by this statement.
Let me know if it helps you.

About me

User

Tejas Shah

Microsoft Certified Professional Expert. I have 14+ years of experience in Design and Develop 100+ .Net applications using Asp.Net, C#, Asp.Net Core, VB.Net, SQL Server, MVC, AngularJS, JavaScript, Azure, HTML5 and CSS3.