[C#] Comment réussir une transformation XSL ?
Bonjour à tous,
J'ai eu beau chercher dans la FAQ et les forums, je n'ai pas trouvé ma réponse.
Je suis sous Visual Studio .NET 2003, et je dois faire une transformation XSL en C#.
Jusqu'il y a 2 mois, la partie d'édition de statistiques gérée par cette transformation XSL/XML fonctionnait correctement. Puis, le nombre d'enregistrement en base a augmenté, et une erreur est apparut lors de la génération, une "Null reference exception ....." causé par la fonction Transform() d'un objet XslTransform.
Il se trouve que cette fonction est désaprouvée, et je me demandais s'il n'y avait pas une autre façon de générer un état HTML.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| try
{
//Création du flux XML, ds étant un DataSet construit au préalable
XmlDataDocument docxml = new XmlDataDocument(ds);
// Fichier XML source
string fichierXML =String.Format( Path.GetDirectoryName(fichier) + "/"+ this.nom + ".xml" );
docxml.Save(fichierXML);
//Chargement du modéle XSLT
XslTransform xslt = new XslTransform();
xslt.Load(MonfichierXsl);
//Chemin du fichier temporaire html utilisé pour la transformation
string fichierHTML =String.Format( Path.GetDirectoryName(fichier) + "/"+ this.nom + ".html" );
XmlTextWriter writer = new XmlTextWriter(fichierHTML, null);
//Transformation
xslt.Transform(docxml,null,writer);
writer.Close();
//Récupération du flux HTML
StreamReader stream = new StreamReader (fichierHTML );
rephtml = stream.ReadToEnd();
stream.Close();
}
catch(Exception ex)
{
rephtml=ex.Message;
erreur=ex;
}
return rephtml; |
Merci d'avance.
Re: [C#] Comment réussir une transformation XSL ?
Mmmh bizarre si effectivement celà fonctionnait en l'état avant.
Pour test, as-tu essayer d'utiliser un XPathDocument à la place de ton XmlDataDocument ? pour voir si l'exception persiste avec la montée en charge des données.
Je ne suis pas un spécialiste, serait-ce un souci avec la taille du cache ?