Quote:
quote:Originally posted by pgtips
If you're using sql server 2000 take a look at the new OPENXML syntax in BOL.
|
Thanks pgtips, finding it useful,
...a further question whilst still using my initaive to solve:
what if the xml resides in a seperate server from the sql server? How do i give the source file location for the OPENXML method?
DECLARE @idoc int
DECLARE @doc varchar(5000)
SET @doc ='
<bannerClicks>
<date DateClicked="17-Feb-2004">
<bannerclick intDailyBannerClickID="1" intBannerGroupID="2" intBannerID="3" HTTP_REFERER="bannertest.asp" DateClicked="20-Feb-2004" intBannerClickCount="1" intBannerDisplayCount=""/>
<bannerclick intDailyBannerClickID="2" intBannerGroupID="4" intBannerID="2" HTTP_REFERER="bannertest.asp" DateClicked="20-Feb-2004" intBannerClickCount="1" intBannerDisplayCount=""/>
<bannerclick intDailyBannerClickID="3" intBannerGroupID="5" intBannerID="5" HTTP_REFERER="bannertest.asp" DateClicked="20-Feb-2004" intBannerClickCount="1" intBannerDisplayCount=""/>
</date>
<date DateClicked="25-Feb-2004">
<bannerclick intDailyBannerClickID="1" intBannerGroupID="4" intBannerID="5" HTTP_REFERER="banner.asp" DateClicked="25-Feb-2004" intBannerClickCount="2" intBannerDisplayCount="1"/>
<bannerclick intDailyBannerClickID="2" intBannerGroupID="4" intBannerID="3" HTTP_REFERER="banner.asp" DateClicked="25-Feb-2004" intBannerClickCount="2" intBannerDisplayCount="2"/>
<bannerclick intDailyBannerClickID="3" intBannerGroupID="4" intBannerID="4" HTTP_REFERER="banner.asp" DateClicked="25-Feb-2004" intBannerClickCount="1" intBannerDisplayCount="1"/>
<bannerclick intDailyBannerClickID="4" intBannerGroupID="4" intBannerID="1" HTTP_REFERER="banner.asp" DateClicked="25-Feb-2004" intBannerClickCount="0" intBannerDisplayCount="1"/>
</date>
</bannerClicks>
'
--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- Execute a SELECT statement that uses the OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc, '/bannerClicks/date[@DateClicked="25-Feb-2004"]/bannerclick',1)
WITH (intDailyBannerClickID varchar(10),
intBannerGroupID varchar(20),
intBannerID varchar(20),
HTTP_REFERER varchar(20),
DateClicked varchar(20),
intBannerClickCount varchar(20),
intBannerDisplayCount varchar(20)
)
exec sp_xml_removedocument @idoc
Select @idoc
ak