XslTrasform mi è diventata XslCompiledTransform

Andrea Zani

di Andrea Zani, in .NET2, martedì 11 ottobre 2005 ore 22.21

Archiviato in:

Preso del mio vecchio codice. Copio in una pagina per asp.net 2.0. Il codice niente di complesso: una trasformazione di un file xml grazie all'xslt:

string Trasforma(string xml_file, string xsl_file) 
{ 
XmlDataDocument doc=new XmlDataDocument(); 
doc.Load(Request.MapPath(xml_file); 
XslTransform xslt=new XslTransform(); 
xslt.Load(Request.MapPath(xsl_file)); 
StringBuilder sb=new StringBuilder(); 
StringWriter sw=new StringWriter(sb); 
XmlUrlResolver resolver = new XmlUrlResolver(); 
xslt.Transform(doc,args,sw,resolver); 
sw.Close(); 
return sb.ToString(); 
}

Codice stupido: dati i due file ritorna la stringa con il risultato della trasformazione (è un pezzo di codice prelevato da un esempio reale). Ok, lo compilo con vs 2005 e sull'XslTrasform ottengo che la classe è obsoleta e deve essere utilizzata la nuova XslCompiledTrasform.

Cerco di informarmi a riguardo, e trovo subito la documentazione completa a riguardo. Link interessante e ricco di informazioni. Ok, ma come diventa ora quel codice qui sopra? Eccolo:

string Trasforma(string xml_file, string xsl_file) 
{ 
XslCompiledTransform transform = new XslCompiledTransform(); 
transform.Load(Request.MapPath(xsl_file)); 
XmlWriterSettings ws = transform.OutputSettings.Clone(); 
ws.CheckCharacters = false; 
StringBuilder sb = new StringBuilder(); 
XmlWriter sw = XmlWriter.Create(sb,ws); 
transform.Transform(Request.MapPath(xml_file), sw); 
return sb.ToString(); 
}

Anche se questo mi ha fatto incacchiare come un'ape (Cartman docet).

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

Nella stessa categoria
I più letti del mese
TagCloud
BLOG INFO
  • 295 post, 201 commenti, 36 trackback
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom
IN EVIDENZA