I see what you mean, but I'd rather the internals of the visitor not be exposed (e.g. SimpleXMLElement) in case the implementation changes (e.g. moving to XmlReader or something).