views:

27

answers:

1

I'm attempting to pull information from the publicly accessible Recreation Information Database. The feed I'm trying to parse through is http://www.recdata.gov/feeds/RecElements/getAllRecElementsForOrgID_-1.xml (large file)

It seems that the feed is a complex xml document which looks like it has a lot of references to information similar to a reference table in a database. What would be some tips on how to handle this? Is there a better way to consume it? I need to get as much information from the feed as possible and all the arc elements are really tripping me up.

+1  A: 

A little poking around their web site and I found their Web Service Manual. That showed me that they expose a WSDL for each of their services. The WSDL for the service for fetching data is at https://www.recdata.gov/RIDBWebService/RIDBService.jws?WSDL.

Note that XMLspy says this WSDL is in error:

File https://www.recdata.gov/RIDBWebService/RIDBService.jws?WSDL is not valid.
    attribute 'part' in extensibility element '<mime:mimeXml>' refers to part 'Body' which could not be found in message 'getRecGovFacilitiesHttpGetOut'
        Error location: definitions / binding / operation / output / mime:mimeXml / @part

So one way to deal with this service is to use the WSDL to generate proxy classes in your favorite language. For instance, if you were using .NET, you would use the "Add Service Reference" command and point it at the WSDL.

John Saunders
I'd probably use PHP as I am more familiar with it. What is the best way to handle getting the elements that relate to the IDs of the facilities? That is where I am having the trouble.
Seth
@Seth: I thought that PHP 5.2 could handle a WSDL.
John Saunders