Bonjour à tous,
J'ai un petit souci, je développe un plugin aux normes Nagios et je récupère mes arguments avec cette partie du code:
Getopt::Long::Configure('bundling');
GetOptions(
"h" =>...
Type: Messages; Utilisateur: synx91
Bonjour à tous,
J'ai un petit souci, je développe un plugin aux normes Nagios et je récupère mes arguments avec cette partie du code:
Getopt::Long::Configure('bundling');
GetOptions(
"h" =>...
Ce qui est bizarre, c'est :
- quand j'utilise le transfert avec WinSCP, le fichier est nickel;
- quand j'utilise les commandes ncftp, le fichier est nickel;
- quand j'utilise Net::FTP avec mon...
Erreur résolue, en fait je suis passé par un script bash "appelé en perl". ce script utilise la commande ncftp.
Concernant l'erreur de base, elle était donc bien due à un mauvais fichier XML, ceci...
Oui je l'ai laissé et il y a quasi tout qui change (en comparant les deux hexdump)
J'ai fait un hexdump des 2 fichiers (le scp et le ftp) et ils sont bien différents.
Ca ne change rien. :(
J'ai aussi essayé avec $ftp->ascii;
J'ai eu du mal à trouver pourquoi mon fichier était non valide car ça marchait avant de faire un ftp.
Donc, depuis que je télécharge mon fichier depuis un serveur ftp windows, le fichier est...
Bonjour,
J'ai fait un script en perl qui utilise le module XML::Twig.
Lorsque je l'exécute, voilà l'erreur qu'il me retourne:
not well-formed (invalid token) at line 1, column 1, byte 1 at...
C'est fait, j'attendais juste de voir si la partie "conversion" était ok pour toi, mais ce n'est pas le même sujet.
Voilà ce que j'utilisais (dans un autre script):
if ($ligne =~ m{<measObjInstId>\s*(.*?)\s*</measObjInstId>}) {
$ligne =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
$ligne =~ s/\s+//g;...
Tout simplement WOOOHHH.
C'est exactement ce que je recherchais, ça marche nickel :ccool::ccool::ccool:
Un grand merci!
Maintenant le code (que j'ai mis plus haut) parse le fichier XML une seule fois (merci pour la remarque) et en résultat j'ai bien les valeurs une par une comme elle apparaisse dans le fichier XML....
J'ai apporté une amélioration au code:
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $file = 'output-test.txt';
my $twig1=XML::Twig->new(
Petite précision, la balise measValues n'est pas une balise "enfant" de measTypes.
Oui, là il n'y en a qu'une car j'ai pris un extrait du fichier.
En réalité il y en a plusieurs mais tu as raison, à chaque fois qu'il y a la balise measTypes, vient ensuite la balise measValues.
...
Avec la conversion:
Alors en prenant les valeurs:
Les MeasType "tournent en boucle" pour chaque measObjInstId, mais les iValue changent.
J'espère être clair, difficile à expliquer avec de l'hexa. 8O
Je devrais avoir ça:
Les MeasType et measObjInstId sont en hexa donc c'est pas lisible mais ça je les convertirai plus tard, je l'ai déjà fait dans d'autres scripts donc pas de souci.
Les...
Bonjour,
Merci pour votre réponse, effectivement c'est pas très optimisé.
J'ai pris qu'une partie du fichier (il fait 44Mo):
<MeasDataCollection>
<measFileHeader>
...
J'ai fait quelques modifs (pour suivre le conseil de Philou):
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $file = 'output-test.txt';
my $twig1=XML::Twig->new(
Voici donc mon code (basique car je débute):
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $file = 'output-test.xml';
my $twig1=XML::Twig->new(
J'utilise XML::Twig (recommandé dans la doc de Djibril et utile poru les gros fichier XML.
Je réorganise mon code et je vous poste ça. :ccool:
Pas de souci je le montrerai quand j'aurai l'autre PC. :ccool:
Et pour info je ne voulais pas un programme ou un code entier, où avez vous vu que je demandais ça?
"Une idée?" ne veut pas dire...
Cette documentation je l'ai déjà lue, elle m'a été très utile mais je ne trouve pas de solution à mon problème.
Je vais peut être me répéter mais par exemple j'ai 250 objets, 250 séries de 7...
Le code est sur un autre PC, là je ne l'ai pas mais j'arrive à peu près à extraire ce que je veux mais "ligne par ligne", en gros j'ai:
Type1
Type2
Type3
Objet1
Value1
Value2
Value3
Objet2
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.