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
Rejoignez-nous