Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2010, 17h36   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 85
Points : 63
Points : 63
Par défaut XML ExtractValue() obtenir une valeur d'un attribut de balise, et non pas la valeur de la balise elle même ?

Bonjour, je découvre XML avec MySQL, j'arrive a extraire des valeurs contenues dans des balises.

Mais comment extraire les valeurs des attributs de balise ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> SET @xml = '<testXML><balise1 monattribut="mavaleurdattribut">clientMySQL</balise1></testXML>';
Query OK, 0 rows affected (0.00 sec)
 
mysql> SELECT @xml;
+-----------------------------------------------------------------------------------+
| @xml                                                                              |
+-----------------------------------------------------------------------------------+
| <testXML><balise1 monattribut="mavaleurdattribut">clientMySQL</balise1></testXML> |
+-----------------------------------------------------------------------------------+
1 row IN SET (0.00 sec)
 
mysql> SELECT ExtractValue(@xml, '//balise1') AS balise1;
+-------------+
| balise1     |
+-------------+
| clientMySQL |
+-------------+
1 row IN SET (0.00 sec)
Par exemple comment extraire "mavaleurdattribut" ?...
Même si je ne crois pas que cela est possible, peut être un expert à t'il une solution (native à MySQL) ?
sjachym est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 21h50   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
ça ressemble à du Xpath tout ça. Comme j'en ai pas fait depuis longtemps je te dirai d'aller voir ce cours et te t'interesser à attribute.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 01h19   #3
Membre régulier
 
Avatar de flotho
 
Homme Florent THOMAS
Architecte de système d'information
Inscription : novembre 2006
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Florent THOMAS
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : novembre 2006
Messages : 130
Points : 87
Points : 87
Envoyer un message via Skype™ à flotho
Bonjour,

Je serai intéressé par la réponse si vous avez abouti sur ce problème.

Cordialement,
__________________
Créateur www.kipigo.com
Fondateur www.tdeo.fr
Linux | Java | J2EE | NB Platform | Pentaho | PostgreSQL
flotho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 12h15   #4
Membre du Club
 
Inscription : novembre 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 85
Points : 63
Points : 63
J'ai trouvé la solution sur Tips SQL : XML MySQL. Il fallait faire :

Code :
1
2
3
4
5
6
7
mysql> SELECT ExtractValue(@xml, '//balise1/@monattribut') AS attributDeBalise;
+-------------------+
| attributDeBalise  |
+-------------------+
| mavaleurdattribut |
+-------------------+
1 row IN SET (0.00 sec)
sjachym est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h37.


 
 
 
 
Partenaires

Hébergement Web