Lecture fichier xml

Résolu
kox007
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007
- 14 nov. 2005 à 12:00
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
- 14 nov. 2005 à 12:50
Bonjour,

Je cherche à parser un fichier Xml à partir d'un programme C#. Mon
fichier XML me parait valide et bien formé et pour tant j'obtien
l'erreur suivante :

"La même table (Ipdu) ne peut pas être la table enfant dans deux relations imbriquées."



Voici le code d'appel :


XmlNodeReader
test = null;


DataSet ds =
new DataSet();


string
xml_file = "sortie.xml";


XmlDocument
myDoc= new XmlDocument();

try

{



myDoc.Load(xml_file);



test = new XmlNodeReader(myDoc);



ds.ReadXml(test); //A cet appel
l'exception est déclenchée

}



catch(Exception e)



{


}



et la partie du fichier XML qui est en cause :



<OIL>




[# -] <Listeipdu>






[# -] <Ipdu>






<Identdef>IPDU_BVT_F2_Etat</Identdef>





<Sizeinbits>32</Sizeinbits>





[# -] <Ipduproperty>




RECEIVED




<Timeout>90</Timeout>





<Firsttimeout>90</Firsttimeout>



</Ipduproperty>





<Ipducallout>plop</Ipducallout>

</Ipdu>








[# -]

<Ipdu>








<Identdef>IPDU_PCT_F2_Etat</Identdef>





<Sizeinbits>64</Sizeinbits>





[# -] <Ipduproperty>




SENT




[# -] <Transmissionmode>




PERIODIC




<Timeperiod>40</Timeperiod>





<Timeoffset>0</Timeoffset>



</Transmissionmode>





<Timeout>0</Timeout>



</Ipduproperty>





<Ipducallout />



</Ipdu>



</Listeipdu>

</OIL>





Merci par avance pour votre aide.

5 réponses

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
37
14 nov. 2005 à 12:19
il faut que tu ajoutes une propriété à chaque ipdu...

exemple :
<OIL>

blabla...



blabla...

</OIL>

Sébastien FERRAND
[MVP C#]
3
kox007
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007

14 nov. 2005 à 12:26
Je viens d'essayer cette modification et cela ne change rien :-( .... Merci quand même pour ta réponse.
0
kox007
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007

14 nov. 2005 à 12:36
étrange....., si je renomme la balise ipdu en ipdupouet, cela
fonctionne. Y aurait t'il une longueur mini pour les étiquettes? Des
conflits avec certains nom comme ipduproperty? ...

Merci pour vos réponses.
0
kox007
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007

14 nov. 2005 à 12:42
je viens de trouver mon erreur....je suis un boulet .
Dans une autre partie de mon fichier xml, j'avais un attribut qui
s'appelait ausi ipdu, d'où le conflit. Merci encore pour ton aide et
encore désolé pour cette question débile.

Cordialement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
37
14 nov. 2005 à 12:50
ce n'est rien ;)

les erreurs d'étourderies sont les plus difficiles à corriger

Sébastien FERRAND
[MVP C#]
0