I'm writing a class to consume NOAA's weather forecast web service. Issuing the query and receiving the result is easy—it takes two lines of code.
Parsing the result, however, is hard. I've been playing with PHP's built-in XML-parsing functions, but as far as I can tell, none of them can automatically translate a chunk of XML into a nice, neat tree of associative arrays (or something comparably easy to navigate). xml_parse() is really just a lexical analyzer, not a parser, and xml_parse_into_struct() generates an obnoxious parallel array structure.
What tools (libraries, other core PHP functions, etc.) might help me here?