Perl XPATH - Wert suchen egal ob groß oder klein!

downset04

Erfahrenes Mitglied
Hallo

Ich habe einen Xpath Ausdruck, womit ich einen Wert in einem Tag <foo>bla</foo> suche. Wenn ich zb bla suche wird er gefunden! Wie schreibe ich den XPATH - Ausdruck um damit ich auch Bla oder z.B auch BlA finde - d.h egal ob Groß- oder Kleinschreibung?

mfg downset04
 
Hallo,
hab jetzt einen weg gefunden:
Code:
//foo[translate(text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")="'bla'"]
Es funktioniert jetzt so, jedoch bekomm ich die Warnungen nicht weg - Was bedeuten die eigentlich?
Code:
Unrecognized escape \Q passed through at (eval 4) line 1.
Unrecognized escape \E passed through at (eval 4) line 1.
Unrecognized escape \Q passed through at (eval 4) line 1.
Unrecognized escape \E passed through at (eval 4) line 1.
thx
 
Kannst Du etwas Code posten?

Die Fehlermeldung sieht ganz so aus, als würdest Du mit Regulären Ausdrücken arbeiten. Dort gibt es \Q und \E, um RegEx-Sonderzeichen zu escapen (entspricht einem quotemeta - siehe perldoc -f quotemeta).
 
hallo - da der code

Code:
#!/usr/bin/perl 


use XML::XPath; 
use XML::XPath::XMLParser; 


my $xml = do{ local $/; <DATA> }; 


my $xpath = 
  XML::XPath->new( 
$xml 
  ); 
my $command = 
'//foo[translate(text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")="java"]'; 


my $nodeset = $xpath->find($command); 
foreach my $node ( $nodeset->get_nodelist ) { 
        my $t = XML::XPath::XMLParser::as_string($node)."\n"; 
        print $t; 


} 


__DATA__ 
<foo>Java</foo>


hat glaub was mit den Warnungen zu tun unter Eclipse kommen sie wenn ich das Programm aber aus der Konsole starte nicht - je nachdem was ich anmache!
 
Zurück