Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Task : Parsing the xml returned from the webserver.
Input : post a request the webserver
output : The webserver returns an XML.
problem : processing the XML (for more than 1 child element)
Below is the XMl file
<root> <report id="0" ip="1.1.1.1"> <node mid="machine1" name="Winxp"> <values>1, 2, 3, 4, 5, 6</values> <time>110, 120, 130, 140, 150, 160</time> </node> </root>
Below is the perl program
use XML::Simple; my $simple = XML::Simple -> new (); my $tree = $simple->XMLin($xmlfile); @values = split ',', $tree->{report}{node}{values}; @time = split ',', $tree->{report}{node}{time};
Using the above program, I was able to get the values and time stamps in the array namely @values and @time. ( note there is only 1 element <node> )
But now i am to parse more than 2 child elements.
<root> <report id="0" ip="1.1.1.1"> <node mid="machine1" name="Winxp"> <values>1, 2, 3, 4, 5, 6</values> <time>110, 120, 130, 140, 150, 160</time> </node> <node mid="machine2" name="Win2003"> <values>1, 2, 3, 4, 5, 6</values> <time>110, 120, 130, 140, 150, 160</time> </node> </root>
Note : I know the node mid and name attribute. ( I mean, I know i am requesting for 2 machines and the machine id and name are the part of the note element as attributes. )
Now how do i query that particular node and then remove its values and time element contents.
Code tags and other markup added by GrandFather
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Parsing XML file for more than 1 child element with attributes
by Cody Pendant (Prior) on Feb 06, 2008 at 11:21 UTC | |
by Anonymous Monk on Feb 06, 2008 at 12:25 UTC | |
by Cody Pendant (Prior) on Feb 06, 2008 at 21:43 UTC | |
|
Re: Parsing XML file for more than 1 child element with attributes (XML::Twig)
by Tanktalus (Canon) on Feb 06, 2008 at 15:39 UTC | |
by Cody Pendant (Prior) on Feb 07, 2008 at 03:01 UTC | |
by Anonymous Monk on Feb 07, 2008 at 06:40 UTC |