Parse elements in XML feed

G

glbdev

I need to pull items out of an XML feed.

Here is an example of the XML file:
- <TopNode>
- <XmlFeed>
- <GetListInCategory>
- <Data Count="937">
- <Table>
<EventID>567343</EventID>
<Event>NHL playoffs</Event>
<Date>2007-04-21T00:00:00.0000000-05:00</Date>
<Time>10:00 PM</Time>
<CategoryID>26</CategoryID>
<HeadlinerID>101828</HeadlinerID>
<VenueID>115920</VenueID>
</Table>
</data>
</GetListInCategory>
</TopNode>

I need to pull each item out of the <TABLE> node, such as
<CategoryID>. The current code I am using now pulls ALL the data but
I cannot access the invidual elements.

Here is my current code:

dim objHTTP
dim objXML
set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.open "GET","https://secure.myxmlfeed", false
objHTTP.send
set objXML = server.CreateObject("microsoft.xmldom")
objXML.async=false
objXML.load(objhttp.responsebody)
Response.Write(objxml.xml)

Can anyone tell me how to do this?

- Steve
 
A

Anthony Jones

I need to pull items out of an XML feed.

Here is an example of the XML file:
- <TopNode>
- <XmlFeed>
- <GetListInCategory>
- <Data Count="937">
- <Table>
<EventID>567343</EventID>
<Event>NHL playoffs</Event>
<Date>2007-04-21T00:00:00.0000000-05:00</Date>
<Time>10:00 PM</Time>
<CategoryID>26</CategoryID>
<HeadlinerID>101828</HeadlinerID>
<VenueID>115920</VenueID>
</Table>
</data>
</GetListInCategory>
</TopNode>

I need to pull each item out of the <TABLE> node, such as
<CategoryID>. The current code I am using now pulls ALL the data but
I cannot access the invidual elements.

Here is my current code:

dim objHTTP
dim objXML
set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")

Don't use the XMLHTTP in ASP it's not threadsafe. Use:-

Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
objHTTP.open "GET","https://secure.myxmlfeed", false
objHTTP.send
set objXML = server.CreateObject("microsoft.xmldom")
objXML.async=false
objXML.load(objhttp.responsebody)

If the remote source is behaving itself and sending a content-type header
with the value "text/xml" then you need only:-

Set objXML = objHTTP.ResponseXML
Response.Write(objxml.xml)

Can anyone tell me how to do this?

Dim oTable
Dim oNode

Set oTable =
objXML.selectSingleNode("/TopNode/XMLFeed/GetListInCategory/Data/Table")

For Each oNode In oTable.selectNodes("*")
Response.Write oNode.tagName & " = " & oNode.Text & "<br />"
Next
 
G

glbdev

Thanks Anthony, I appreciate it. I will give this a try later this
afternoon.

- Gust
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
G

glbdev

Pupkin,

I never heard of RSS2HTML but will look into it.

Thanks,
- Steve
==========================================================================================================
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top