Before you start doing your notes in XML, maybe you should have a look at YAML. And if you still want XML in the end, you can generate that out of the YAML without too much trouble.
As far as I know, XML::Parser only suffers from the limitations of the underlying XML library Expat.