Extraire des données d'un fichier xml
Fermé
na_ba85
Messages postés
8
Date d'inscription
mardi 18 juin 2013
Statut
Membre
Dernière intervention
1 septembre 2017
-
20 août 2013 à 09:58
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 20 août 2013 à 10:45
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 20 août 2013 à 10:45
A voir également:
- Extraire données xml dans excel
- Extraire une video youtube - Guide
- Liste déroulante excel - Guide
- Xml viewer - Télécharger - Édition & Programmation
- Si et excel - Guide
- Extraire son video - Guide
1 réponse
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 20/08/2013 à 10:49
Modifié par [Dal] le 20/08/2013 à 10:49
Salut na_ba85,
Si ta recherche est aussi simple, et que les données XML dans chaque balise "info" tiennent sur une ligne, tu peux utiliser une regexp pour faire cela et éviter de t'embêter avec un module.
donne :
La regexp utilise le modificateur "m" pour que le marqueur de début de ligne soit appliqué à chaque ligne, et on suppose que le contenu de "status" est en lettres majuscules.
Dal
Si ta recherche est aussi simple, et que les données XML dans chaque balise "info" tiennent sur une ligne, tu peux utiliser une regexp pour faire cela et éviter de t'embêter avec un module.
#!/usr/bin/perl use strict; use warnings; $_ = q(<?xml version="1.0" encoding="UTF-8" ?> <voiture> <info count="-1" ended="1376903248" name="A" started="1376903248" status="OK" statusMsg="" /> <info count="-1" ended="1376903275" name="B" started="1376903248" status="OK" statusMsg="" /> ... </voiture>); if (/^<info.*ended="([0-9]+)" name="B" started="([0-9]+)" status="([A-Z]+)"/m) { print "match found:\n\nended=$1 - started=$2 - status=$3\n"; }
donne :
match found: ended=1376903275 - started=1376903248 - status=OK
La regexp utilise le modificateur "m" pour que le marqueur de début de ligne soit appliqué à chaque ligne, et on suppose que le contenu de "status" est en lettres majuscules.
Dal