Pb avec la serialisation --> efface des params de config xml
2 réponses
Saulot
Bonjour,
Je suis en proie à une malediction.
J'ai une classe comme suit :
Public Class LogErrorCollection
public ArrayList Collection
Mon problème vient de la purge du fichier XML :
Lorsque je veux purger, je me contente de faire un Collection.Clear() et de
sauvegarder.
Et LA ! MAGIE : le parametre ":stylesheet type="text/xsl" href="report.xsl""
a DISPARU !!!
Lorsque je serialise, j'obitent ce que je veux (AU DETAIL PRES cité) :
<?xml version="1.0" encoding="utf-8" ?>
<LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Collection>
<Date>2004-08-03T09:47:54.4171530+02:00</Date>
<Message>TEST</Message>
<StackTrace>TEST</StackTrace>
</Collection>
<Collection>
<Date>2004-08-03T09:47:54.4171530+02:00</Date>
<Message>TEST2</Message>
<StackTrace>TEST2</StackTrace>
</Collection>
</LogErrorCollection>
PS : Code de ma serialisation :
XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection));
StreamWriter writer = new StreamWriter(LogFile);
try
{
Serial.Serialize(writer, this);
}
catch{}
writer.Close();
PS : Code de ma serialisation : XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection)); StreamWriter writer = new StreamWriter(LogFile); try { Serial.Serialize(writer, this); } catch{} writer.Close();
Bonjour,
Essayez de remplacer le StreamWriter par un XmlTextWriter.
Ensuite la méthode WriteProcessingInstruction doit vous permettre "de
personaliser" le fichier xml
XmlTextWriter writer = new XmlTextWriter(LogFile);
writer.WriteProcessingInstruction("xml-stylesheet","type='text/xsl'
href='report.xsl'");
Frédéric Mélantois
"Saulot" <saulot@libertysurf.fr> a écrit dans le message de
news:4111d395$0$28253$626a14ce@news.free.fr...
Bonjour,
Je suis en proie à une malediction.
J'ai une classe comme suit :
Public Class LogErrorCollection
public ArrayList Collection
Mon problème vient de la purge du fichier XML :
Lorsque je veux purger, je me contente de faire un Collection.Clear() et
de
sauvegarder.
Et LA ! MAGIE : le parametre ":stylesheet type="text/xsl"
href="report.xsl""
a DISPARU !!!
Lorsque je serialise, j'obitent ce que je veux (AU DETAIL PRES cité) :
<?xml version="1.0" encoding="utf-8" ?>
<LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Collection>
<Date>2004-08-03T09:47:54.4171530+02:00</Date>
<Message>TEST</Message>
<StackTrace>TEST</StackTrace>
</Collection>
<Collection>
<Date>2004-08-03T09:47:54.4171530+02:00</Date>
<Message>TEST2</Message>
<StackTrace>TEST2</StackTrace>
</Collection>
</LogErrorCollection>
PS : Code de ma serialisation :
XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection));
StreamWriter writer = new StreamWriter(LogFile);
try
{
Serial.Serialize(writer, this);
}
catch{}
writer.Close();
PS : Code de ma serialisation : XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection)); StreamWriter writer = new StreamWriter(LogFile); try { Serial.Serialize(writer, this); } catch{} writer.Close();
Saulot
Ca marche au poil ^^ Merci beaucoup.
"Frederic Melantois" a écrit dans le message de news:cesog3$122$
Bonjour,
Essayez de remplacer le StreamWriter par un XmlTextWriter.
Ensuite la méthode WriteProcessingInstruction doit vous permettre "de personaliser" le fichier xml
XmlTextWriter writer = new XmlTextWriter(LogFile); writer.WriteProcessingInstruction("xml-stylesheet","type='text/xsl' href='report.xsl'");
Frédéric Mélantois
"Saulot" a écrit dans le message de news:4111d395$0$28253$ > Bonjour, > Je suis en proie à une malediction. > > J'ai une classe comme suit : > Public Class LogErrorCollection > public ArrayList Collection > > Mon problème vient de la purge du fichier XML : > Lorsque je veux purger, je me contente de faire un Collection.Clear() et de > sauvegarder. > Et LA ! MAGIE : le parametre ":stylesheet type="text/xsl" href="report.xsl"" > a DISPARU !!! > > Lorsque je serialise, j'obitent ce que je veux (AU DETAIL PRES cité) : > <?xml version="1.0" encoding="utf-8" ?> > <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST</Message> > <StackTrace>TEST</StackTrace> > </Collection> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST2</Message> > <StackTrace>TEST2</StackTrace> > </Collection> > </LogErrorCollection> > > Or je voudrais : > <?xml:stylesheet type="text/xsl" href="log.xsl" version="1.0" > encoding="utf-8" ?> > <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST</Message> > <StackTrace>TEST</StackTrace> > </Collection> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST2</Message> > <StackTrace>TEST2</StackTrace> > </Collection> > </LogErrorCollection> > > Une Explication ? > Merci de votre aide. > > PS : Code de ma serialisation : > XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection)); > StreamWriter writer = new StreamWriter(LogFile); > try > { > Serial.Serialize(writer, this); > } > catch{} > writer.Close(); > > >
Ca marche au poil ^^
Merci beaucoup.
"Frederic Melantois" <fmelantois@nospam.nospam> a écrit dans le message de
news:cesog3$122$1@s5.feed.news.oleane.net...
Bonjour,
Essayez de remplacer le StreamWriter par un XmlTextWriter.
Ensuite la méthode WriteProcessingInstruction doit vous permettre "de
personaliser" le fichier xml
XmlTextWriter writer = new XmlTextWriter(LogFile);
writer.WriteProcessingInstruction("xml-stylesheet","type='text/xsl'
href='report.xsl'");
Frédéric Mélantois
"Saulot" <saulot@libertysurf.fr> a écrit dans le message de
news:4111d395$0$28253$626a14ce@news.free.fr...
> Bonjour,
> Je suis en proie à une malediction.
>
> J'ai une classe comme suit :
> Public Class LogErrorCollection
> public ArrayList Collection
>
> Mon problème vient de la purge du fichier XML :
> Lorsque je veux purger, je me contente de faire un Collection.Clear() et
de
> sauvegarder.
> Et LA ! MAGIE : le parametre ":stylesheet type="text/xsl"
href="report.xsl""
> a DISPARU !!!
>
> Lorsque je serialise, j'obitent ce que je veux (AU DETAIL PRES cité) :
> <?xml version="1.0" encoding="utf-8" ?>
> <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <Collection>
> <Date>2004-08-03T09:47:54.4171530+02:00</Date>
> <Message>TEST</Message>
> <StackTrace>TEST</StackTrace>
> </Collection>
> <Collection>
> <Date>2004-08-03T09:47:54.4171530+02:00</Date>
> <Message>TEST2</Message>
> <StackTrace>TEST2</StackTrace>
> </Collection>
> </LogErrorCollection>
>
> Or je voudrais :
> <?xml:stylesheet type="text/xsl" href="log.xsl" version="1.0"
> encoding="utf-8" ?>
> <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <Collection>
> <Date>2004-08-03T09:47:54.4171530+02:00</Date>
> <Message>TEST</Message>
> <StackTrace>TEST</StackTrace>
> </Collection>
> <Collection>
> <Date>2004-08-03T09:47:54.4171530+02:00</Date>
> <Message>TEST2</Message>
> <StackTrace>TEST2</StackTrace>
> </Collection>
> </LogErrorCollection>
>
> Une Explication ?
> Merci de votre aide.
>
> PS : Code de ma serialisation :
> XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection));
> StreamWriter writer = new StreamWriter(LogFile);
> try
> {
> Serial.Serialize(writer, this);
> }
> catch{}
> writer.Close();
>
>
>
"Frederic Melantois" a écrit dans le message de news:cesog3$122$
Bonjour,
Essayez de remplacer le StreamWriter par un XmlTextWriter.
Ensuite la méthode WriteProcessingInstruction doit vous permettre "de personaliser" le fichier xml
XmlTextWriter writer = new XmlTextWriter(LogFile); writer.WriteProcessingInstruction("xml-stylesheet","type='text/xsl' href='report.xsl'");
Frédéric Mélantois
"Saulot" a écrit dans le message de news:4111d395$0$28253$ > Bonjour, > Je suis en proie à une malediction. > > J'ai une classe comme suit : > Public Class LogErrorCollection > public ArrayList Collection > > Mon problème vient de la purge du fichier XML : > Lorsque je veux purger, je me contente de faire un Collection.Clear() et de > sauvegarder. > Et LA ! MAGIE : le parametre ":stylesheet type="text/xsl" href="report.xsl"" > a DISPARU !!! > > Lorsque je serialise, j'obitent ce que je veux (AU DETAIL PRES cité) : > <?xml version="1.0" encoding="utf-8" ?> > <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST</Message> > <StackTrace>TEST</StackTrace> > </Collection> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST2</Message> > <StackTrace>TEST2</StackTrace> > </Collection> > </LogErrorCollection> > > Or je voudrais : > <?xml:stylesheet type="text/xsl" href="log.xsl" version="1.0" > encoding="utf-8" ?> > <LogErrorCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST</Message> > <StackTrace>TEST</StackTrace> > </Collection> > <Collection> > <Date>2004-08-03T09:47:54.4171530+02:00</Date> > <Message>TEST2</Message> > <StackTrace>TEST2</StackTrace> > </Collection> > </LogErrorCollection> > > Une Explication ? > Merci de votre aide. > > PS : Code de ma serialisation : > XmlSerializer Serial = new XmlSerializer(typeof(LogErrorCollection)); > StreamWriter writer = new StreamWriter(LogFile); > try > { > Serial.Serialize(writer, this); > } > catch{} > writer.Close(); > > >