Ich habe hier eine XML Datei, in der das folgende vorkommt:
<result>
<target type="ziel">
<tag1>123</tag1>
<tag2>123</tag2>
...
</target>
</result>
Ich moechte die tag Tags mit Twig behandeln.
Meine bisherigen Versuche waren:
my $twig = new Xml::Twig(twig_handlers =>
{
"/result/target/tag\d" => \&meine_parse_funktion,
});
my $twig = new Xml::Twig(twig_handlers =>
{
"/result/target/tag[1-3]" => \&meine_parse_funktion,
});
Bei der ersten 'Loesung' bekomme ich leider nur die Fehlermeldung "Unrecognized escape \d passed through".
Bei der zweiten ruft er die Funktion nicht auf.
Moeglicherweise liegt der Fehler an meinen mangelhaften Perl Kenntnissen oder ich missverstehe die Twig Doku:
Twig DokuThis argument consists of a hash { expression = \&handler}> where expression is a an XPath-like expression (+ some others).
XPath expressions are limited to using the child and descendant axis (indeed you can't specify an axis), and predicates cannot be nested. You can use the string, or string(<tag>) function (except in twig_roots triggers).
Additionally you can use regexps (/ delimited) to match attribute and string values.
Last edited: 2011-04-27 14:58:09 +0200 (CEST)