Lecture fichier xml [Résolu]

kox007 10 Messages postés dimanche 28 mars 2004Date d'inscription 29 juin 2007 Dernière intervention - 14 nov. 2005 à 12:00 - Dernière réponse : sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 14 nov. 2005 à 12:19
3
Merci
il faut que tu ajoutes une propriété à chaque ipdu...

exemple :
<OIL>

blabla...



blabla...

</OIL>

Sébastien FERRAND
[MVP C#]

Merci sebmafate 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de sebmafate
kox007 10 Messages postés dimanche 28 mars 2004Date d'inscription 29 juin 2007 Dernière intervention - 14 nov. 2005 à 12:26
0
Merci
Je viens d'essayer cette modification et cela ne change rien :-( .... Merci quand même pour ta réponse.
Commenter la réponse de kox007
kox007 10 Messages postés dimanche 28 mars 2004Date d'inscription 29 juin 2007 Dernière intervention - 14 nov. 2005 à 12:36
0
Merci
é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.
Commenter la réponse de kox007
kox007 10 Messages postés dimanche 28 mars 2004Date d'inscription 29 juin 2007 Dernière intervention - 14 nov. 2005 à 12:42
0
Merci
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.
Commenter la réponse de kox007
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 14 nov. 2005 à 12:50
0
Merci
ce n'est rien ;)

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

Sébastien FERRAND
[MVP C#]
Commenter la réponse de sebmafate

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.