XslTrasform mi è diventata XslCompiledTransform

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).

Nella stessa categoria

Commenti
fedroz scrive:
XslTrasform mi è diventata XslCompiledTransform

E per chi come me mastica poco C#, ecco qui la versione VB.NET del codice postato sopra:

---------------------------------------------------------------------------
Public Shared Function trasf(ByVal pXmlPath As String, ByVal pXsltPath As String) As String
Dim transform As New XslCompiledTransform()
transform.Load(pXsltPath)
Dim ws As XmlWriterSettings = transform.OutputSettings.Clone()
ws.CheckCharacters = False
Dim sb As New StringBuilder()
Dim sw As XmlWriter = XmlWriter.Create(sb, ws)
transform.Transform(pXmlPath, sw)
Return sb.ToString()
End Function
---------------------------------------------------------------------------
19/09/2006 ore 19.02
TrackBack scrive:
15/11/2005 ore 9.34

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - AZ - Il blog di Andrea Zani

TagCloud
BLOG INFO
  • Post: 260
  • Commenti: 160
  • TrackBacks: 34
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML

MVP
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA