Usa espressioni XPath
use strict;
use warnings;
use XML::LibXML;
use Data::Dumper;
my $doc = XML::LibXML->new->parse_string(q{
<PARENT>
<TAG string1="asdf" string2="asdfd">
</TAG>
</PARENT>
});
my $xpath = '/PARENT/TAG/@string2';
# getting value of attribute:
print Dumper $doc->findvalue($xpath);
my ($attr) = $doc->findnodes($xpath);
# setting new value:
$attr->setValue('dfdsa');
print Dumper $doc->findvalue($xpath);
# do following if you need to get string representation of your XML structure
print Dumper $doc->toString(1);
E leggere la documentazione, ovviamente :)
E, naturalmente, se vuoi percorrere il DOM da solo, puoi farlo anche tu. XML :: LibXML utilizza l'API DOM W3C, che è la stessa utilizzata in Javascript. Quindi dovrebbe essere prontamente familiare (anche se l'API fa schifo, almeno è standard). – jrockway
grazie. puoi dirmi come cambiare il valore per string2 ?? – Anandan
@Anandan scrivere 'temme' invece di 'dirmi' non è bello. In effetti, spaccia alcune persone, come me, che devono impegnarsi ulteriormente per analizzare mentalmente quello che stai dicendo. La qualità delle risposte che ottieni in risposta alle tue domande è direttamente proporzionale allo sforzo che componi nel comporre domande chiare e ben definite. –