Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Xml TagPath Property ExplainedDemonstrates and explains the TagPath property. Note: The TagPath property was introduced in Chilkat v9.5.0.77
-- 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 @xml int -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Load some XML: DECLARE @success int 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 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.