I haven't checked but how does it handle recursive definitions? Like this, say: <person> <name>Jon</name> <son><person> <name>Fred</name> <son>None</son> </person> </son> </person> That's usually where regex based parsing of XML falls flat. Alan g.