Salut tout le monde,
J ai un petit probleme avec les variables: $&, $` et $'.
j ai une structure xml comme ca:
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <Layer> <Signal>ACLN_LN_RWDT / ACLN_LN_OFFS</Signal> </Layer>
je veux avoir une structure comme ca:
alors le premier signal dans un tag ensuite un tag pour l operateur(+, -, / etc..) et un tag pour le deusieme operateur.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <Layer> <Signal>ACLN_LN_RWDT</Signal> <Signals_operator>/</Signal_operator> <Signal>ACLN_LN_OFFS</Signal> </Layer>
j ai ecris ce morceau de code:
mon probleme c est que j obtiens ce resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 my @nodes1 = $root1->get_xpath('//Layer'); for my $node1 (@nodes1){ foreach my $nodes ($node1->children) { if(($nodes->gi =~ /Signal$/)){ if($nodes->text =~ /[\/\+\%\-\&\&&\|\*\||\ \t\n\f\r]/){ $writer->startTag('Signal'); $writer->characters($`); $writer->endTag('Signal'); $writer->startTag('Signals_operator'); $writer->characters($&); $writer->endTag('Signals_operator'); $writer->startTag('Signal'); $writer->characters($'); $writer->endTag('Signal'); } else{ $writer->startTag('Signal'); $writer->characters($nodes->text); $writer->endTag('Signal');} }}
comme vous le constatez l operateur est dans le tag du 2eme signal et le signal_operator tag contient un espace!
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <Signal>ACLN_LN_RWDT</Name> <Signals_operator> </Signals_operator> <Signal>/ ACLN_LN_OFFS</Name>
ca serait tres gentil de m aider un peu
Merci!
Partager