Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utilisation de XMLNodeList [ Base de données / XML ] (ov3rdoze)

lundi 23 juillet 2007 à 15:20:15 | Utilisation de XMLNodeList

ov3rdoze

Membre Club
Bonjour

J'utilise des fichiers XML. Je propose à l'utilisateur de ne lister que certains noeuds en fonction d'un menu déroulant qui propose :
- Tous les dossiers : Là pas de problème
- Dossiers de l'année en cours : OK
- Dossiers hors-delais : C'est celui-ci qui pose problème

Voici la structure du fichier XML (uniquement la partie qui nous interesse) :

<dossier ouverture="23/07/2007" fermeture="">
    <phasage>
        <mois>2</mois>
        <jours>12</jours>
    </phasage>
</dossier>

Un dossier hors délais est un dossier qui n'a pas de date de fermeture et dont la date d'ouverture + phase < date d'aujourd'hui.

J'utilise un XmlNodeList dans lequel je ne met que les noeuds à afficher, mais dans le cas des dossiers hors-délais, je ne sais pas comment faire :
- Je ne trouve pas d'expression X-Path qui décrive ce cas
- Je n'arrive pas, en parcourant le fichier noeud par noeud, à ajouter ceux qui m'interressent à la liste (Je ne sais pas comment ajouter)

Quelqu'un a une idée?

Merci d'avance

mardi 24 juillet 2007 à 11:29:38 | Re : Utilisation de XMLNodeList

drahcir

Réponse acceptée !
Salut,

Essaie ça :

' ArrayList qui va contenir les noeuds à afficher
Dim alNode as New ArrayList

' nodeList représente la liste des noeuds "dossier" (utilse X-Path)
For Each node as XmlNode in nodeList
      If node.Attribute("fermeture").Value.Equals(String.Empty) Then
            Dim day As Date = CDate(node.Attribute("ouverture").Value)
                        day = day.AddDays(node.Attributes("jours").Value
            day = day.AddMonths(node.Attributes("mois").Value

            If day.CompareTo(Date.Now) < 0 Then
               alNode.Add(node)
            End If
      End If
Next

Tu n'auras plus qu'à parcourir alNode pour afficher les noeuds s'y trouvant.

Rq : je n'ai pas testé donc je ne te garanti pas le résultat...



@+  

mardi 24 juillet 2007 à 11:51:43 | Re : Utilisation de XMLNodeList

ov3rdoze

Membre Club
Merci pour ta réponse

Je ne sais pas exactement comment fonctionne arrayList. Dans le cas de XmlNodeList, si je modifie un noeud de la liste, le noeud est modifé également dans le fichier (après Fichier.save(...) bien évidement). Est-ce que ce sera le cas avec arrayList?
En fait la question est est-ce que les éléments du arrayList pointent simplement vers ce qu'on a mis dedans, ou bien est-ce qu'il s'agit de 'copies'?

mardi 24 juillet 2007 à 12:01:31 | Re : Utilisation de XMLNodeList

drahcir

Non, la modification de l'Arraylist ne modifiera en rien ton fichier xml.

Si tu veux le modifier, il faut en effet modifier les noeuds de ta collection.
Je suis passé par une ArrayList tout simplement parce que je trouve ça simple à utiliser... mais tu pourrais aussi instancier un nouvel "XmlNodeList" et y ajouté les noeuds.

Quant à son contenu, je ne sais pas exactement, mais je dirais qu'il s'agit de copies.

Est-ce que le bout de code que je t'ai donnée fonctionne?



@+  

mardi 24 juillet 2007 à 13:03:19 | Re : Utilisation de XMLNodeList

ov3rdoze

Membre Club
Le mieux est encore d'essayer... Je teste tout ça et je te di si je m'en suis sorti.

En tout cas merci pour ton aide

mardi 24 juillet 2007 à 13:34:39 | Re : Utilisation de XMLNodeList

ov3rdoze

Membre Club
J'ai adapté ton code à ce que j'avais déjà fais et ça fonctionne très bien.
Encore merci



Cette discussion est classé dans : dossiers, date, utilisation, utilise, xmlnodelist


Répondre à ce message

Sujets en rapport avec ce message

récupération de date et utilisation des modules [ par astanda ] SOS j'ai besoin de récupérer la date du PC (année, mois, jour) et de pourvoir l'inclure dans un programme....de même j'aurais besoin de connaitre comm pb utilisation DTPICKER avec date [ par tibops ] bsalut j'utilise un DTPICKEr, pour avoir un ptit calendrier pour choisir un date, cepedant je n'arrive a y afficher la date du systeme quand je elance date francais/anglais [ par pmunger ] Bonjour. J'aimerais convertir en string contenant une date en anglais (ex: 4-FEB-2003) en une variable de type DATE.Une erreur surgit lorsque j'uti calendrier [ par vichenzo ] salut a tous,voial je fais un petit calendrier...g utilise cemui de vb mais g bcp de mal a le programmer. J aimerais pourvoir recupere du texte, une d Bip lors de l'utilisation du clavier [ par ROnE91 ] Bonjour,     J'ai une appli win32 dans laquelle j'utilise le clavier lorsque le focus est sur une picture box. J'ai un hook pour récupérer les touche format date et MSHFlexgrid [ par arpege ] j'utilise un MSHflexgrid pour afficher des dates récupérées à partir d'une base de donnée access.J'aimerais que la date s'affiche en dd/mm/yy et pour Date de derniere utilisation d'un fichier ??? [ par kikuchi_kun ] Bonjours Je voudrai savoir si il y a un moyen de savoir la date de dernière modification d'un fichier ?Si oui, quel est le code qui le permet ???Si vo c'est tres tres URGENT "confusion" [ par nabilac ] bonjour,svp est ce que quelqu'un est capable de me dire la difference entre l'utilisation du "nom du form" et "me",j'ai un form que j'instancie autant Utilisation de MonthView [ par jcheseaux ] Bonjour ! Voila mon problème, lorsque je veux mettre une date en gras dans un MonthView cela ne marche pas ! J'ai testé : monthview.DayBold(visibleDay Utilisation d'un RichTextBox [ par tulesais ] Bonjour,j'utilise un RichTextBox pour afficher un fichier text à l'écran >> !Cela fonctionne !!! miracle :-)par contre j'aimerais effectuer plusieurs


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.