Lecture fichier xml [Résolu]

Signaler
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
33
il faut que tu ajoutes une propriété à chaque ipdu...

exemple :
<OIL>

blabla...



blabla...

</OIL>

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

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

é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.
Messages postés
10
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
29 juin 2007

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.
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
33
ce n'est rien ;)

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

Sébastien FERRAND
[MVP C#]