cs_Lhenry
Messages postés8Date d'inscriptionmardi 8 mai 2007StatutMembreDernière intervention11 février 2009
-
31 oct. 2008 à 15:54
cs_Lhenry
Messages postés8Date d'inscriptionmardi 8 mai 2007StatutMembreDernière intervention11 février 2009
-
6 nov. 2008 à 23:28
Bonjour à tous,
J'ai un problème avec la sérialisation de mes données dans mon application en C#...
Pour mon BTS, je dois sérialiser une série d'élement identique et je coince car quand j'ouvre mon document XML via IE ou Firefox, j'ai le message suivant :
"Un seul élément de niveau supérieur est autorisé dans un document XML"
voila le code de mon type structuré en C# :
[
Serializable]
public
struct
TRealisateur
{
//Chaque champ correspond à une information concernant un réalisateur (nom, pr‚nom...)
public
decimal tRealNum
public
string tRealNom;
public
string tRealPrenom;
public
decimal tRealNbFilm;
[
XmlAttribute(AttributeName =
"NumReal")]
public
string RealNum {
get {
return
Convert.ToString(tRealNum); }
set { tRealNum =
Convert.ToDecimal(
value); } }
[
XmlElement(ElementName =
"NomReal")]
public
string RealNom {
get {
return tRealNom; }
set { tRealNom =
value; } }[
XmlElement(ElementName =
"PrenomReal")]
public
string RealPrenom {
get {
return tRealPrenom; }
set { tRealPrenom =
value; } }[
XmlElement(ElementName =
"NbFilmReal")]
public
string RealNbFilm {
get {
return
Convert.ToString(tRealNbFilm); }
set { tRealNbFilm =
Convert.ToDecimal(
value); } }
//fonction de cr‚ation d'un r‚alisateur
public
TRealisateur CreerRealisateur(
decimal pNum,
string pNom,
string pPrenom,
decimal nbFilm){
Or lorsque je souhaite serialiser un seul élément, le document XML est généré correctement...Si je sérialise un autre element ensuite, j'ai le message d'erreur que je vous ai donné au debut :
Un seul élément de niveau supérieur est autorisé dans un document XML. Erreur de traitement de la ressource <TRealisateur
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" NumReal=...
<tbody></tbody>Quelqun pourrait m'aider ???
Un grand merci par avance....
cs_Lhenry
Messages postés8Date d'inscriptionmardi 8 mai 2007StatutMembreDernière intervention11 février 2009 31 oct. 2008 à 16:15
Si ca peut aider je vous copie le fichier XML genéré (avec 3 realisateur) et ouvert grace au bloc note :
<?xml version="1.0"?>
<TRealisateur xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" NumReal="1">
<tRealNum>1</tRealNum>
<tRealNom>Spielberg</tRealNom>
<tRealPrenom>Steven</tRealPrenom>
<tRealNbFilm>30</tRealNbFilm>
<NomReal>Spielberg</NomReal>
Steven
cs_Lhenry
Messages postés8Date d'inscriptionmardi 8 mai 2007StatutMembreDernière intervention11 février 2009 3 nov. 2008 à 16:25
Bonjour et d'abord merci de ta réponse...
Le problème que j'ai eu s'est présenté alors que j'avais spécifié XmlRoot sur ma structure mais comme je dois en enregistrer plusieurs de même type ca coince. C'est pour ca que j'ai essayé sans en specifier...
En fait dans mon programme j'enregistre mes réalisateurs dans un tableau et c'est le tableau que je dois serialiser...enfin les données contenus dans mon tableau.
Je suis passé par une serialisation en binaire ca fonctionne mais je suis decu de pas avoir reussi en Xml...J'orais bien voulu recuperer mes donnees dans un format plus pratique...
Merci quand pour votre réponse...si vous avez d'autres idées je suis preneur...
bonne soiré a vous..
cs_Lhenry
Messages postés8Date d'inscriptionmardi 8 mai 2007StatutMembreDernière intervention11 février 2009 6 nov. 2008 à 23:28
Apres quelques recherche dans ton source, j'ai réussi à me construire une solution un peu plus simple et surement moin professionnelle que la tienne.
J'ai donc réussi à sérialiser une liste de données dans un fichier XML pour ensuite le deserialiser dans la liste qu j'avais au départ (Avec une listes de type : "LIST<MaStructure>").
Si vous souhaitez consulter mon code source je le commenterais en details pour en faciliter la comprehension et je vous le ferait parvenir.
Cordiallement...
PS : Merci encore à bidou pour le temps qu'il m'a accordé !