Desde que peguei algumas de suas respostas para fazer a classe à qual estou vinculando, pensei em colocá-las como comentário aqui. Espero que isso simplifique as coisas para as pessoas: dftr.ca/?p=318
DFTR 25/13
Eu prefiro esta solução em vez da versão sobrecarregado, porque você é capaz de definir XmlReaderSettings e XmlWriterSettings usando DTD, esquemas, etc.
Alina B.
2
Eu preciso fazer isso no VB.NET (que é o meu idioma "offspec", prefiro C #), e sua resposta levou à minha solução. Obrigado
Eon
137
Com base na excelente resposta de Daren, observe que esse código pode ser reduzido significativamente usando a sobrecarga XslCompiledTransform.Transform apropriada :
var myXslTrans =newXslCompiledTransform();
myXslTrans.Load("stylesheet.xsl");
myXslTrans.Transform("source.xml","result.html");
(Desculpe por colocar isso como uma resposta, mas o code blocksuporte nos comentários é bastante limitado.)
Respostas:
Encontrei uma resposta possível aqui: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63
Do artigo:
Editar:
Mas meu fiel compilador diz que
XslTransform
é obsoleto: useXslCompiledTransform
:fonte
Com base na excelente resposta de Daren, observe que esse código pode ser reduzido significativamente usando a sobrecarga XslCompiledTransform.Transform apropriada :
(Desculpe por colocar isso como uma resposta, mas o
code block
suporte nos comentários é bastante limitado.)No VB.NET, você nem precisa de uma variável:
fonte
Aqui está um tutorial sobre como fazer transformações XSL em C # no MSDN:
http://support.microsoft.com/kb/307322/en-us/
e aqui como escrever arquivos:
http://support.microsoft.com/kb/816149/en-us
apenas como uma observação lateral: se você quiser fazer a validação também, aqui está outro tutorial (para DTD, XDR e XSD (= Esquema)):
http://support.microsoft.com/kb/307379/en-us/
Eu adicionei isso apenas para fornecer mais algumas informações.
fonte
Isso pode ajudá-lo
fonte