The following works with your xml (you have two </testResults> tags in your xml; there should be only one):
use XML::Simple qw(:strict); my $xmlFile = 'textResults.xml'; my $xmlDocument = XMLin($xmlFile, ForceArray => 1, KeyAttr => {}, ); foreach my $httpSample (@{$xmlDocument->{httpSample}}) { print qq|<failure>$httpSample->{assertionResult}->[0]->{failure}-> +[0]</failure>\n|; print qq|<error>$httpSample->{assertionResult}->[0]->{error}->[0]< +/error>\n|; print qq|<failureMessage>$httpSample->{assertionResult}->[0]->{fai +lureMessage}->[0]</failureMessage>\n\n|; }
Running this generates the following:
<failure>true</failure> <error>false</error> <failureMessage>Test failed: text expected to contain /Login/</failure +Message> <failure>true</failure> <error>false</error> <failureMessage>Test failed: code expected to contain /200/</failureMe +ssage> <failure>true</failure> <error>false</error> <failureMessage>Test failed: text expected to contain /true/</failureM +essage> ...
Add the code to process each file.
In reply to Re: reading multiple xmls in a folder and to get tagvalues stored and then printed to HTML
by Kenosis
in thread reading multiple xmls in a folder and to get tagvalues stored and then printed to HTML
by numberuno
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |