You can use the XML::Rules->inferRulesFromExample() (or XML::Rules->inferRulesFromDTD() if you have the DTD) to get the basic set of rules for the document and see what data structure would that create (using Data::Dumper). Then you can start tweaking the rules to create a nicer structure. For example, if you do not need the author names split into parts and only want the valid ones you can delete the 'Author' from the list of tags with the 'as array' built-in rule and add a rule like this:
and see what structure do you get.'Author' => sub { return unless $_[1]->{ValidYN} eq 'Y'; return "$_[1]->{ForeName} $_[1]->{LastName}"; },
And then continue tweaking the rules to filter the stuff you are not interested in, format stuff the way you want, rename hash keys etc.
In reply to Re^4: Apache +XML parsing
by Jenda
in thread Apache +XML parsing
by soliplaya
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |