J'ai un fichier XML je veux extraire la valeur String2 ici .. Et je veux aussi la définir sur une nouvelle valeur. P> Comment Pour faire ça? P> p>
4 Réponses :
Utilisez les expressions XPath et lire la documentation, bien sûr :) p> p>
Et bien sûr, si vous voulez marcher le DOM vous-même, vous pouvez le faire aussi. XML :: libxml utilise l'API W3C DOM, qui est la même que vous utilisez dans JavaScript. Donc, il devrait être facilement familier (bien que l'API suce, au moins sa standard).
@Anandan écrivant 'Temme' au lieu de "Dis-moi" n'est pas cool. En fait, cela remet certaines personnes telles que moi qui doit mettre des efforts supplémentaires pour analyser mentalement ce que vous dites. La qualité des réponses que vous obtenez en réponse à vos questions est directement proportionnelle à l'effort que vous mettez en composant des questions claires et bien définies.
@jrockway Crappy Dom API peut être relativement facile fixé par quelques emballages minces qui le rendront plus prell. Le plus gros avantage de XML :: libxml sur d'autres modules certes plus pratiques est toujours sa performance. Vitesse et mémoire sage
Vous pouvez utiliser XML :: Parser pour obtenir la valeur aussi bien. Pour plus d'informations, reportez-vous au XML :: Documentation d'analyseur :
#!/usr/local/bin/perl use strict; use warnings; use XML::Parser; use Data::Dumper; my $attributes = {}; my $start_handler = sub { my ( $expat, $elem, %attr ) = @_; if ($elem eq 'TAG') { $attributes->{$attr{'string1'}} = 'Found'; } }; my $p1 = new XML::Parser( Handlers => { Start => $start_handler } ); $p1->parsefile('test.xml'); print Dumper($attributes);
Je pense que vous êtes peut-être préférable de commencer avec XML :: simple et Jouant un peu d'abord:
Superficiellement a l'air simple, mais XML :: Simple Structures de données Simple Mise à la mémoire pour les gros documents et que les goûts deviennent vraiment cryptiques vraiment rapidement.
@Singingfish Jetez un coup d'œil à la post de l'OP. Il ne connaît pas assez pour pouvoir commencer à apprendre les autres bibliothèques. Il a besoin de faire i> un peu pour apprendre Certains i> afin qu'il puisse arriver à la scène où il sait ce que vous entendez dans votre commentaire.
Merci pour vos réponses. J'ai trouvé une autre réponse dans " Traitement de fichier de configuration avec libxml2 " que j'ai trouvé très utile. p>