SQL Server
SQL Server
Xml TagPath Property Explained
See more XML Examples
Demonstrates and explains the TagPath property.Note: The TagPath property was introduced in Chilkat v9.5.0.77
Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
DECLARE @xml int
EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- Load some XML:
EXEC sp_OAMethod @xml, 'LoadXml', @success OUT, '<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>'
EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT
PRINT @sTmp0
-- This is what we have:
-- <?xml version="1.0" encoding="utf-8"?>
-- <a>
-- <bbb>
-- <ccc>
-- <ddd>1</ddd>
-- <ddd>
-- <z>zzz</z>
-- </ddd>
-- <ddd>3</ddd>
-- </ccc>
-- </bbb>
-- </a>
-- The TagPath property is read-only property that returns the unique path to the
-- node from the document root.
-- For example:
DECLARE @found int
EXEC sp_OAMethod @xml, 'SearchForTag2', @found OUT, @xml, 'z'
IF @found = 1
BEGIN
-- We found a node having the tag "z".
-- The TagPath property tells us the location in the document.
DECLARE @tagPath nvarchar(4000)
EXEC sp_OAGetProperty @xml, 'TagPath', @tagPath OUT
PRINT @tagPath
-- The tagPath is bbb|ccc|ddd[1]|z
-- If we to back to the document root, we can get to the given node via the tagPath.
EXEC sp_OAMethod @xml, 'GetRoot2', NULL
EXEC sp_OAGetProperty @xml, 'Tag', @sTmp0 OUT
PRINT @sTmp0
-- The root tag is "a".
-- Follow the tagPath to the "z" node:
EXEC sp_OAMethod @xml, 'FindChild2', @found OUT, @tagPath
EXEC sp_OAGetProperty @xml, 'Tag', @sTmp0 OUT
PRINT 'found = ' + @found + ', tag = ' + @sTmp0
-- We are now at "z".
END
EXEC @hr = sp_OADestroy @xml
END
GO