http://qs1969.pair.com?node_id=19090


in reply to RE: RE: XML::Parser
in thread XML::Parser

You can keep a stack of the current level where you are in the XML file. When you get a start tag, push the tag onto the stack; when you get to the end of that tag, pop the tag off the stack. You can use this to define a tree structure of sorts.

Another option would be to use the "Tree" Style of XML::Parser. Read the docs for that.

A final option, and a good one, is to use XML::Simple, which may work for you:

use XML::Simple; XMLin("foo.xml");
It loads the data into a tree structure, which may or may not work exactly how you want it.

Or (finally again) you could look into some of the other tree-processing XML modules, like XML::DOM and XML::Twig. They may be overkill for your purposes, though.