Bu makale ile xslt dosyalarınızı html'e çevirmeyi göstereceğiz. Günümüzde web teknolojileri yaygın olarak kullanıldığı için tarayıcıların xslt dosyalarını okuyabilmesi için html olarak çevrilmesi gerekmektedir. Hadi şimdi aslında C# ile kolay yapılabilen bu işleme bakalım.
/// <summary>
/// Xml'i Html koduna çevirir.
/// </summary>
/// <param name="xslEncoded"></param>
/// <param name="inputXml"></param>
/// <returns></returns>
public static string XmlToHtml(string xslEncoded, string inputXml)
{
byte[] data = System.Convert.FromBase64String(xslEncoded);
string decodedXslt = Encoding.UTF8.GetString(data);
string xmlFile = File.ReadAllText(inputXml);
return TransformXMLToHTML(xmlFile, decodedXslt);
}
public static string TransformXMLToHTML(string inputXml, string xsltString)
{
XslCompiledTransform transform = new XslCompiledTransform();
using (XmlReader reader = XmlReader.Create(new StringReader(xsltString)))
{
transform.Load(reader);
}
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(inputXml)))
{
transform.Transform(reader, null, results);
}
return results.ToString();
}
XmlToHtml metodu 2 parametre almaktadır. Bunlar xslEncoded ve inputXml parametreleridir. xslEncoded parametresi xslt dosyasının base64 string şeklinde geleceğini, inputXml ise çevrilecek olan xml dosyasının yoludur.
TransformXMLToHTML metodu ise bu 2 parametreyi işleyerek html'e dönüştürme işlemini yapar. Html'e dönüştürme işlemini yaparken gönderilen xslt önemlidir. Çünkü xslt sayesinde xml dosyasına stil verilebiliyor ve html olarak dönüştürmesinde aracılık yapıyor.
Bu metodu biz e-fatura, e-arşiv ve e-irsaliyeleri html kodlarına dönüştürmek için kullanıyoruz. Siz de e-dönüşüm konusunda çalışma yapacaksanız işinize yarayacak bu kod parçaları sayesinde işinizi kolaylaştırabilirsiniz. Herhangi bir ihtiyacınızda bizimle iletişime geçebilirsiniz, sizlere yardımcı olmak isteriz.
Herkese iyi çalışmalar dileriz.