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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.