Как применить таблицу стилей XSLT в C#
Я хочу применить таблицу стилей XSLT к XML-документу с помощью C# и записать вывод в файл.
3 ответа:
Я нашел возможный ответ здесь: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63
из статьи:
XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslTransform myXslTrans = new XslTransform() ; myXslTrans.Load(myStyleSheet); XmlTextWriter myWriter = new XmlTextWriter("result.html",null) ; myXslTrans.Transform(myXPathDoc,null,myWriter) ;
Edit:
но мой верный компилятор говорит:
XslTransform
устарело: использоватьXslCompiledTransform
вместо:XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ; XslCompiledTransform myXslTrans = new XslCompiledTransform(); myXslTrans.Load(myStyleSheet); XmlTextWriter myWriter = new XmlTextWriter("result.html",null); myXslTrans.Transform(myXPathDoc,null,myWriter);
основываясь на отличном ответе Дарена, обратите внимание, что этот код может быть значительно сокращен с помощью соответствующего XslCompiledTransform.Преобразование перегрузки:
var myXslTrans = new XslCompiledTransform(); myXslTrans.Load("stylesheet.xsl"); myXslTrans.Transform("source.xml", "result.html");
(извините за то, что представляю это как ответ, но
code block
поддержка в комментариях весьма ограничен.)In VB.NET, вам даже не нужна переменная:
With New XslCompiledTransform() .Load("stylesheet.xsl") .Transform("source.xml", "result.html") End With
вот учебник о том, как сделать преобразования XSL в C# на MSDN:
http://support.microsoft.com/kb/307322/en-us/
а вот как записать файлы:
http://support.microsoft.com/kb/816149/en-us
Так же, как Примечание: Если вы хотите сделать проверку тоже вот еще один учебник (для DTD, XDR и XSD (=Schema)):
http://support.microsoft.com/kb/307379/en-us/
Я добавил Это просто, чтобы предоставить дополнительную информацию.