begin process at 2010 02 10 00:46:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

XML

 > 

filtrer un xml sur un element


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

filtrer un xml sur un element

dimanche 8 octobre 2006 à 12:14:15 | filtrer un xml sur un element

Draven

Bonjour a tous,

J'aimerai filtrer un fichier xml en fonction d'un element de celui-ci. Pour comprendre rien de tel qu'un exemple.
Alors voila mon fichier xml.
<pays>
         <ville id="1" nom="Orly" ...>
               <aeroport id=1 abreviation="ORY" ouvert="O" ... />
                      <avionTourisme id=145 type="..." .... />
                      <avionFret id=141 type="..." .... />
                      <avionTourisme id=156 ... />
               </aeroport>
         </ville>
         <ville id="2" nom="Bretigny sur Orge" ...>
               <aeroport id=3 ouvert="O" ... />
                      <avionMilitaire id=34 type="..." .... />
                      <avionMilitaire id=35 ... />
                      <avionFret id=14 type="..." .... />
               </aeroport>
         </ville>
</pays>

Et je ne voudrais garder que les aeroports possédant des éléments "avionMilitaire".  Et avoir en resultat le fichier xml suivant :
<pays>
         <ville id="2" nom="Bretigny sur Orge" ...>
               <aeroport id=3  ouvert="O" ... />
                      <avionMilitaire id=34 type="..." .... />
                      <avionMilitaire id=35 ... />
                      <avionFret id=14 type="..." .... />
               </aeroport>
         </ville>
</pays>

J'ai regarder du coté des classes xpathdocument, et des méthodes selectnodes avec une requete xpath, mais je ne sélectionne que les noeuds demandé, je n'obtiens pas mon fichier xml voulu.
Avez vous une idée?
dimanche 8 octobre 2006 à 12:28:02 | Re : filtrer un xml sur un element

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Basiquement, une fois que tu as la liste des éléments à conserver, il te suffit de batir un autre XmlDocument et de le sauvegarder.
L'autre solution est que tu prennes la logique inverse et que tu sélectionnes les aeroports ne correspondant pas au critère et de les supprimer du document actuel.


/*
coq
MVP Visual C#
CoqBlog
*/
dimanche 8 octobre 2006 à 12:38:07 | Re : filtrer un xml sur un element

Bidou

Administrateur CodeS-SourceS
Réponse acceptée !
Pour la requête XPath, elle est assez semblable à ce topic où j'avais donné une réponse...
En l'adaptant un peu, tu pourras arrivé au résultat que tu veux et créer un autre XMLDocument comme te le suggère coq.



VC# forever
dimanche 8 octobre 2006 à 17:03:36 | Re : filtrer un xml sur un element

Draven

Je vous remercie de vos réponses.

Ca fait plusieurs jours que je tourne en rond je n'arrive à avoir ce que je souhaite.

Je sélectionne bien mes noeuds souhaités, je vais m'inspiré de ta réponse Bidou. Donc Une fois que j'ai mon objet xmlnodelist renseigné, je ne sais pas quoi faire pour avoir mon fichier xml filtré.

Pouvez vous m'aider pour ça, car la je nage complètement?

Merci.
dimanche 8 octobre 2006 à 17:44:07 | Re : filtrer un xml sur un element

Bidou

Administrateur CodeS-SourceS
Avoir les informations en mémoire te suffit pas?
Si non, soit tu crées un nouveau fichier xml et tu écris le contenu de tes Nodes dedans, soit tu conserves ton fichier xml et tu supprimes ce qu'il y a en trop (voire solution de coq).



VC# forever
dimanche 8 octobre 2006 à 20:38:15 | Re : filtrer un xml sur un element

Draven

Donc je renseigne mon xmlnodelist avec une requete xpath du genre /pays/ville/aeroport/avionMilitaire. Dans ce cas les noeuds recupérés dans mon xmlnodeslist seront avionMilitaires.
Apres ça, je crée un nouveau  xmldocument par exemple et j'insere tous mes noeuds de mon xmlnodeslist.J'obtiendrai un fichier xml avec l'arborescence complète du noeud( c.a.d. tous les ancètres), ou juste les noeuds avionMilitaire?

dimanche 8 octobre 2006 à 20:48:21 | Re : filtrer un xml sur un element

Bidou

Administrateur CodeS-SourceS
Si tu suis l'exemple que je t'ai donné en lien, alors il te retourne tout ce qu'il y a dans le node <ville>



VC# forever
dimanche 8 octobre 2006 à 23:17:53 | Re : filtrer un xml sur un element

Draven

ok merci pour tout!


Cette discussion est classée dans : fichier, xml, element, filtrer


Répondre à ce message

Sujets en rapport avec ce message

ecrire un fichier xml [ par creanova2000 ] bonjour; mon problem c'est que je veux enregistrer les variabbles suivantes (no,client) dans un fichier xml de non 0012.xmlno= 001, client= ashcityno= XML et DTD ... [ par maevacmoi ] Hello !Je dois vraiment avoir de la peine, je n'arrive pas afaire un test de vérification de mon fichier XML avecle DTD.Dans le fichier XML je fais ré XML & XSL => Enregistrer résultat [ par maevacmoi ] Hello !J'ai un gros problème (C#.net). J'ai un fichier XML lié à un fichier XSL (~feuille de style). Le résultat s'affiche correctement dans le browse [ASP][C#] Validation de fichier XML [ par vonbier ] Salut,j'ai crée un Web service qui reçoit en paramètre un fichier XML. La première chose que je voudrais qu'il fasse, c'est de checker si ce fichier e CreateText() [ par JCpp ] Je voudrais enregistrer une page d'un site en format XML.J'ai trouvé une source qui mémorise le contenu de la page en «string»http://www.csharpfr.com/ imprimer le contenu d'un fichier xml [ par creanova2000 ] creanovabonjour je voudrai savoir comment je peux imprimer le contenu d'un fichier xmls'il vous plair est ce que vous pouver me donner un exemple.merc lecture de fichier ... [ par maevacmoi ] Hello !Je voudrais lire, depuis un site web (C#) , un fichier xml (monfichier.xml) qui se trouve sur le disque local. J'ai fait pas mal de tests, mais Manipuler à la volée un fichier XML en C# [ par Nosferatu131 ] Arf, deux jours que je galère...Ecrire dans un fichier XML, pas de problème... Lire un fichier XML, aucun problème...Mais j'ai besoin d'écrire à un en XML et accent ... [ par Thanos_the_yopper ] voilà mon souci : je dois écrire un fichier XML. Or, dans le fichier créé, tous les accents ont été sucrés....je l'encode en UTF8 ... comment qu'il fa SQL2000, BDD & XML... [ par Sunnyprog ] Sunnyprogfont=GeorgiaJe veux creer des fichiers xml contenant des données des différentes BDD et ayant pour nom un de ces champs de données.Mais, ça n


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales