Xmlreader et remise au début..

Résolu
tracks62 Messages postés 21 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 29 octobre 2007 - 15 août 2006 à 03:13
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 15 août 2006 à 09:50
Bonjour,

j'ai un petit soucis avec la lecture d'un xmlreader...

le code ressemble a ca :
XmlReader

r =
XmlReader.Create(
"test.xml");
for(int i=0;i<3;i++){
   r.ReadToFollowing("root");
   r.MoveToFirstAttribute();
    console.write(r.IsStartElement());

    xslt.Transform(r,
null, str);

    ......
}

Le premier passage dans le for fonctionne bien... mais a partir du deuxieme ca ne passe plus...
et a premiere vu cela provient du xmlreader que j'arrive pas a remettre au debut.
Quelqu'un saurait comment faire ?

merci

2 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
15 août 2006 à 09:50
Salut,

En tout cas côté navigation dans le XmlReader tu ne pourra pas retourner en arrière, cette classe permet une lecture uniquement vers l'avant, comme l'arbre DOM n'est pas déterminé (ce qui d'ailleurs te permet de traiter des fichiers de quelques millions de noeuds sans problème).

Si tu as besoin de naviguer dans ton document et que ton volume de données est raisonnable regarde du côté du XmlDocument, ça devrait te faciliter la vie.

/*
coq
MVP Visual C#
CoqBlog
*/
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
15 août 2006 à 08:16
Salut
Ca ne passe plus!? Ca veut dire quoi?? Y'a une exception?
(Es-tu sûr d'avoir plus d'un élément s'appelant "root" dans ton file ? (et ReadToFollowing return un booleen !))

Sinon, pour voir plus précisément d'où vient l'erreur, tu peux mettre en commentaire la ligne
// xslt.Transform(r, null, str);
parce que je pense que c'est celle-ci qui pose problème...

<hr size="2" />VC# forever
0
Rejoignez-nous