SQL Server
SQL Server
HasChildWithTag using a Tag Path
Demonstrates calling HasChildWithTag with a tag path.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 @xml int
EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OASetProperty @xml, 'Tag', 'world'
EXEC sp_OAMethod @xml, 'NewChild2', NULL, 'north_america|united_states|california|san_francisco', 'Silicon Valley'
EXEC sp_OAMethod @xml, 'NewChild2', NULL, 'north_america|united_states|california|san_diego', 'Birthplace of California'
EXEC sp_OAMethod @xml, 'NewChild2', NULL, 'north_america|united_states|illinois|chicago', 'Windy City'
EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT
PRINT @sTmp0
-- Produces the following XML
--
-- <?xml version="1.0" encoding="utf-8" ?>
-- <world>
-- <north_america>
-- <united_states>
-- <california>
-- <san_francisco>Silicon Valley</san_francisco>
-- <san_diego>Birthplace of California</san_diego>
-- </california>
-- <illinois>
-- <chicago>Windy City</chicago>
-- </illinois>
-- </united_states>
-- </north_america>
-- </world>
--
DECLARE @hasChicago int
EXEC sp_OAMethod @xml, 'HasChildWithTag', @hasChicago OUT, 'north_america|united_states|illinois|chicago'
PRINT 'hasChicago = ' + @hasChicago
DECLARE @hasNaperville int
EXEC sp_OAMethod @xml, 'HasChildWithTag', @hasNaperville OUT, 'north_america|united_states|illinois|naperville'
PRINT 'hasNaperville = ' + @hasNaperville
DECLARE @hasIllinois int
EXEC sp_OAMethod @xml, 'HasChildWithTag', @hasIllinois OUT, 'north_america|united_states|illinois'
PRINT 'hasIllinois = ' + @hasIllinois
EXEC @hr = sp_OADestroy @xml
END
GO