Avatar of Overthere
Overthere

asked on 

Extracting nodes using classical ASP

I have a snippet of coding - listed below - in which I am having problems figuring out how to pull a node.
I have also listed the XML document. I can loop very well to extract the <SERVICEPROVIDER> without a problem.
But I have not been able to construct my loop to extract the <ITEMAMOUNT>.
I am thinking I need to use xmlElementsByTagName(el, name, recursive = FALSE) - but I don't know.
There be many. It certainly does not like my inner loop where I am trying to extract the  <CATEGORY> and the  <QTY>and the       <DESCRIPTION>
My loop to process the <SERVICEPROVIDER>  works correctly.
But when I try to extract the nodes under <ITEMAMOUNTLIST>, it spits in my face :(   And probably rightfully so too.
I have also posted the xml document. And  snapshot of the error message.
Any help appreciated.

        set xdDoc = Server.CreateObject("MSXML2.DOMDocument.6.0")
	
	xdDoc.load "C:\VAXXML\SOMEVAX.XML"
		
       Set colChildNodes = xdDoc.selectNodes("///ITEMAMOUNT")
	
	'xmlElementsByTagName(el, name, recursive = FALSE)
	'xmlElementsByTagName("ITEMAMOUNT,"TRAVELCATEGORY")
	
	'extract item amounts
		if xdDoc.parseError = 0 then
	  	    'extract item info
			 for each objItem in colChildNodes
			    vqty = objItem.selectSingleNode("DESCRIPTION")
			    vremarks = objItem.selectSingleNode("REMARKS")
			    response.write "<BR>QTY:" & vqty & " " & vremarks
			 next
	    else
             ' display error  message
        end if 	 
	'end of extracting item info


	'extract service providers
      
      Set colNodes = xdDoc.selectNodes ("//SERVICEPROVIDER")

	if xdDoc.parseError = 0 then
	    for each objProvider in colNodes
		    'get provider info
		    response.write "<BR> inside for/next"
		   	vsegnbr = objProvider.selectSingleNode("PROVIDERTYPE").text
			if vsegnbr <> "5" then
   		    	vprovider = objProvider.selectSingleNode("SERVICEPROVIDERNAME").text
		    	vbegindate = objProvider.selectSingleNode("STARTDATE").text
		    	venddate = objProvider.selectSingleNode("ENDDATE").text
			    response.write "<BR>Provider Type is: " & vsegnbr
	    	    response.write "<BR>Provider is: " & vprovider
	    	    response.write "<BR>Begin date is: " & vbegindate
	    	    response.write "<BR>End date is: " & venddate
			end if
		next
	 else
        ' display error message
    end if 	 
	   
%>

Open in new window


Here is the xml document
<?xml version="1.0" encoding="utf-8"?>
<SERVICECARD>
  <DATEFORMAT>MMDDYYYY</DATEFORMAT>
  <RESCARDMOREFIELD>
    <UDIDNO />
    <UNITVALUE />
  </RESCARDMOREFIELD>
  <SERVICEINFO>
    <RESTYPE>7</RESTYPE>
    <ITEMAMOUNTLIST>
      <ITEMAMOUNT>
        <CATEGORY>0</CATEGORY>
        <QTY>1</QTY>
        <DESCRIPTION>CURB SERVICE</DESCRIPTION>
       </ITEMAMOUNT>
      <ITEMAMOUNT>
        <CATEGORY>5</CATEGORY>
        <QTY>1</QTY>
        <DESCRIPTION>2 FREE TICKETS FOR FREE PARKING</DESCRIPTION>
      </ITEMAMOUNT>
      <ITEMAMOUNT>
        <CATEGORY>5</CATEGORY>
        <QTY>1</QTY>
        <DESCRIPTION>INCLUDES 10 FREE MILES</DESCRIPTION>
      </ITEMAMOUNT>
      <SERVICEPROVIDER>
        <PROVIDERTYPE>0</PROVIDERTYPE>
        <SERVICEPROVIDERNAME>LOUD LARRY TAXIS</SERVICEPROVIDERNAME>
        <SERVICEPROVIDERCODE>LL</SERVICEPROVIDERCODE>
        <STARTDATE>07192017</STARTDATE>
        <ENDDATE>07192017</ENDDATE>
      </SERVICEPROVIDER>
      <SERVICEPROVIDER>
        <PROVIDERTYPE>0</PROVIDERTYPE>
        <SERVICEPROVIDERNAME>COOL LUKE RIDES</SERVICEPROVIDERNAME>
        <SERVICEPROVIDERCODE>CLR</SERVICEPROVIDERCODE>
        <STARTDATE>07232017</STARTDATE>
        <ENDDATE>07232017</ENDDATE>
      </SERVICEPROVIDER>
   </SERVICEINFO>
</SERVICECARD>

Open in new window

ItemAmountList-ItemAmount.JPG
XMLASP

Avatar of undefined
Last Comment
zc2
ASKER CERTIFIED SOLUTION
Avatar of zc2
zc2
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Overthere
Overthere

ASKER

To my rescue once again! I also forgot to add a .text to the end of my line. Thank you for all your help :}
Avatar of zc2
zc2
Flag of United States of America image

You are welcome
ASP
ASP

Active Server Pages (ASP) is Microsoft’s first server-side engine for dynamic web pages. ASP’s support of the Component Object Model (COM) enables it to access and use compiled libraries such as DLLs. It has been superseded by ASP.NET, but will be supported by Internet Information Services (IIS) through at least 2022.

82K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo