Recursive descent XML parsing
