Précédent   Forum du club des développeurs et IT Pro > Autres langages > XML/XSL et SOAP > XSL/XSLT/XPATH
XSL/XSLT/XPATH XPath, XSLT, XSL-FO et tout ce qui permet de les mettre en oeuvre . Avant de poster -> FAQ XML, Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/12/2012, 19h53   #1
Melkiok
Invité de passage
 
Homme
IES
Inscription : décembre 2012
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : IES
Secteur : Finance

Informations forums :
Inscription : décembre 2012
Messages : 10
Points : 4
Points : 4
Par défaut Suppression d'un noeud complet à partir de valeurs stockées dans un autre fichier

Bonjour à tous,

Je possède un fichier XML de la forme :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<personne>
<nom>toto</nom>
<prenom>NA</prenom>
<age>19</age>
<taille>170</taille>
<ville>NA</ville>
</personne>
 
 
<personne>
<nom>tata</nom>
<prenom>NA</prenom>
<age>19</age>
<taille>170</taille>
<ville>NA</ville>
</personne>


Et je voudrais faire en sorte de pouvoir supprimer toutes les personnes qui match avec le nom toto

Code :
1
2
3
4
5
6
7
8
 
<personne>
<nom>tata</nom>
<prenom>NA</prenom>
<age>19</age>
<taille>170</taille>
<ville>NA</ville>
</personne>

Difficulté supplémentaire et non des moindre

===> Les valeurs à tester que je veux écarter de mon XML se trouvent dans un AUTRE fichier XML

Je n'ai pas la moindre idée de quelle fonction pourrait me sortir d'un pétrin pareil


Merci à vous même si j'ai peu d'espoir sur la faisabilité d'une chose aussi complexe.
Melkiok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 09h09   #2
caballo
Membre du Club
 
Homme
Chargé d'affaire
Inscription : avril 2007
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chargé d'affaire
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2007
Messages : 63
Points : 69
Points : 69
il y a une partie de la réponse ici :

http://www.developpez.net/forums/d10...-xml-via-xslt/

et en plus avec le même exemple, étonnant non ?
__________________
"Chuck Norris a déjà compté jusqu'à l'infini. Deux fois."
caballo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 10h05   #3
Loceka
Expert Confirmé
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 807
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 807
Points : 2 937
Points : 2 937
Pour charger les valeurs d'un autre fichier XML, tu peux utiliser la fonction document('chemin/du/fichier.xml').

Du coup, ce n'est plus très compliqué :
  1. faire un template qui sur personne
  2. dans ce template, tester que le nom n'existe pas dans dans la liste des noms à supprimer : <xsl:if select="not(document('...')/path/to/unwanted/name[. = current()/nom])"><!-- garder le noeud personne --></xsl:if>.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h09.


 
 
 
 
Partenaires

Hébergement Web