lire/écrire du xml - C#/.NET managed - Programmation
Marsh Posté le 12-07-2005 à 15:41:29
C'est un peu normal, hein Par quelle magie noire, est-ce que noeud.Name pourrait renvoyer l'id ? Y'a des fois
Marsh Posté le 12-07-2005 à 15:44:04
Id est un attribut de ton noeud donc tu va le chercher dans la propriété Attributes du XmlNode
Marsh Posté le 12-07-2005 à 15:51:57
FlorentG a écrit : C'est un peu normal, hein Par quelle magie noire, est-ce que noeud.Name pourrait renvoyer l'id ? Y'a des fois |
ben ça j'en sais rien, je demande justement. merci de laisser aux débutants de ne pas tout connaitre....
chagarou a écrit : Id est un attribut de ton noeud donc tu va le chercher dans la propriété Attributes du XmlNode |
ok je viens de trouver ça:
noeud.Attributes("id" ).Value
maintenant que je connais le noeud que je veux effacer (avec tout ce qu'il y a dedans... comment je fais????
Marsh Posté le 12-07-2005 à 15:53:25
psychatricmeuh a écrit : ben ça j'en sais rien, je demande justement. merci de laisser aux débutants de ne pas tout connaitre.... |
C'est pas une question de tout connaître C'est une question de bon-sens. Personnellement, je ne vois pas le lien entre un attribut, et la propriété name d'un node. Surtout après avoir lu la MSDN sur l'attribut Name, qui spécifie bien ce qui est retourné
Marsh Posté le 12-07-2005 à 15:54:31
As-tu regardé la MSDN au moins ? Dans la class XmlDocument, y'a la méthode RemoveChild qui te permet de le supprimer. Ce sont des méthodes DOM, donc on les retrouve partout (MSXML, JS, PHP, etc...)
Marsh Posté le 12-07-2005 à 15:58:17
en meme temps je me suis pas plaint du fait que name ne renvoyais pas l'attribut. par contre je demandais comment le récup cet attribut. à savoir aussi qu'il y a 5mn je ne savais meme pas que "id" était un "attribut". donc oui je suis entièrement débutante c'est mon premier jour en XML j'en suis navrée.....
sinon je vais voir ce que je peux faire avec RemoveChild, merci
Marsh Posté le 12-07-2005 à 16:00:15
Ah ok Donc si c'est ton premier jour en XML, voit les notions d'éléments, d'attributs, ainsi que les fonctions DOM
Marsh Posté le 12-07-2005 à 16:21:37
je trouve petit à petit merci.
pour remove child j'ai essayé en faisant:
toto.removechild(noeud), mais il m'a sorti une erreur comme quoi noeud n'était pas un child de toto. donc je teste en prenant le premier élement de mon fichier ("doc" ): doc.removechild(noeud)... je vais bien voir!
merci!
Marsh Posté le 12-07-2005 à 16:38:02
en effet le "data" est inutile.
bon a priori j'y arrive. il me reste juste un détail:
une fois le xmldocument modifié, comment l'enregistrer facilement dans le fichier? il me faudrait soit une méthode soit un moyen de passer tout le xmldocument en une string.
zavez une idée sur ce coup là?
merci en tout cas!
Marsh Posté le 12-07-2005 à 16:39:34
Je peux te répondre, mais d'abord, je te redirige vers une fabuleuse chose qui répondra à 95% de tes questions : la MSDN Essaye de chercher, et si vraiment tu trouves pas, alors je te file la réponse. Mais essaye de chercher au moins 15 minutes
Marsh Posté le 12-07-2005 à 17:01:50
FlorentG a écrit : Je peux te répondre, mais d'abord, je te redirige vers une fabuleuse chose qui répondra à 95% de tes questions : la MSDN Essaye de chercher, et si vraiment tu trouves pas, alors je te file la réponse. Mais essaye de chercher au moins 15 minutes |
mouais, si ça répondait vraiment à 95% de mes questions je vous demanderais rien.... j'ai cherché sur la MSDN, et confirmation de ce que je pensais déjà: c'est le bordel, dur dur de trouver ce qu'on veut quand on sait pas le nom de la méthode qu'on cherche... j'ai rarement eu la réponse à ce que je voulais, sauf quand je voulais une def de méthodes par exemple. y a tout ce qu'on veut c'est vrai, mais c'est trop mal foutu pour le moment (en tout cas pour moi )
ben en attendant j'ai a priori trouver 2/3 solutions (et aucune sur la MSDN )
Marsh Posté le 12-07-2005 à 17:06:41
ok j'ai trouvé toto.save(fichier)
par contre j'ai vérifier, oui c'est dna sla msdn, elle m'avait échapper, je fais mon mea culpa, toutes mes excuses pour ce coup ci.... (ce qui n'elève rien à ce que j'en pense )
merci!
Marsh Posté le 13-07-2005 à 09:21:35
psychatricmeuh a écrit : mouais, si ça répondait vraiment à 95% de mes questions je vous demanderais rien.... j'ai cherché sur la MSDN, et confirmation de ce que je pensais déjà: c'est le bordel, dur dur de trouver ce qu'on veut quand on sait pas le nom de la méthode qu'on cherche... j'ai rarement eu la réponse à ce que je voulais, sauf quand je voulais une def de méthodes par exemple. y a tout ce qu'on veut c'est vrai, mais c'est trop mal foutu pour le moment (en tout cas pour moi ) |
Oula C'est absolument pas un bordel, c'est super bien organisé, clair, net, y'a plein de tutorials, d'articles, etc... Et quand on sait pas le nom, c'est facile de trouver : les espaces de noms sont assez explicites, le résumé des méthodes permettant de retrouver très vite ce qu'on veut. D'ailleurs rien que le nom suffit en général.
C'est tout le contraire de la doc PHP par exemple On voit que M$ a des moyens et des gens pour faire de la doc de qualitaÿ
Marsh Posté le 13-07-2005 à 09:49:29
bon d'accord c'est clair que par rapport à du gratuit c'est mieux c'est sur....
mais je maintiens que justement quitte à etre "payant" autant avoir un truc mieux.. enfin c'est que mon avis.
un doute m'assaille, perso je parle de la MSDN en ligne, pas celle fournit avec VS, cette dernière j'ai pas la place de l'installée (faut pas chercher à comprendre, mon entreprise joue au con à me filer un PC pourave pour dev...) donc je la connais à peine....
Marsh Posté le 13-07-2005 à 09:51:15
On peut pas faire mieux Sinon en temps normal, c'est presque pareil que la web, en plus rapide bien sûr.
Marsh Posté le 22-07-2005 à 14:11:20
Et puis pour trouver un noeud grace à son attribut id, rien de tel qu'un GetElementById(), plutot qu'un GetElementsByTagName suivi d'un parcours pour trouver le bon.
Par contre il faut qu'un id soit unique dans le document (mais si ce n'est pas le cas, le document XML n'est de toute façon pas valide).
Marsh Posté le 22-07-2005 à 14:13:10
Faut surtout aussi qu'il y ait un attribut déclaré étant de type ID, et que l'ouverture du fichier se fasse en mode validating
Marsh Posté le 12-07-2005 à 15:38:30
hum bon j'ai un blème pour lire un fichier xml, et pour écrire aussi. en fait j'ai un fichier xml formater tel quel:
et j'aurai voulu récupéré un noeud "requetes" en fonction de son id pou le supprimer après.?
alors jusque là j'ai pu faire ça comme code mais je n'arrive pas à aller plus loin... svp de l'aide!!!!!
mon premier problème est que noeud.name ne renvoitps l'id. comment la récup? et enfin comment effacer tout le noeud une fois la bonne id trouvée???
svp j'en ai marre de pas trouver (et comprendre aussi ...)
merci
---------------
Those empty walls / When we decline, from the confines of our mind / Don't waste your time, on coffins today / Don't you see their bodies burning?