tutorial transformar create c# xml xslt

transformar - Cómo aplicar una hoja de estilo XSLT en C#



xslt demo (3)

Quiero aplicar una hoja de estilo XSLT a un documento XML usando C # y escribir el resultado en un archivo.



En función de la excelente respuesta de Daren, tenga en cuenta que este código se puede acortar de manera significativa utilizando la sobrecarga XslCompiledTransform.Transform adecuada:

var myXslTrans = new XslCompiledTransform(); myXslTrans.Load("stylesheet.xsl"); myXslTrans.Transform("source.xml", "result.html");

(Perdón por plantear esto como una respuesta, pero el soporte del code block en los comentarios es bastante limitado.)

En VB.NET, ni siquiera necesita una variable:

With New XslCompiledTransform() .Load("stylesheet.xsl") .Transform("source.xml", "result.html") End With


Encontré una posible respuesta aquí: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63

Del artículo:

XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslTransform myXslTrans = new XslTransform() ; myXslTrans.Load(myStyleSheet); XmlTextWriter myWriter = new XmlTextWriter("result.html",null) ; myXslTrans.Transform(myXPathDoc,null,myWriter) ;

Editar:

Pero mi fiel compilador dice que XslTransform está obsoleto: use XslCompiledTransform en XslCompiledTransform lugar:

XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslCompiledTransform myXslTrans = new XslCompiledTransform(); myXslTrans.Load(myStyleSheet); XmlTextWriter myWriter = new XmlTextWriter("result.html",null); myXslTrans.Transform(myXPathDoc,null,myWriter);