C# ile XSLT Dosyayı HTML'e Çevirmek

Tulpar Yazılım ve Danışmanlık. Yayın tarihi:

Bu teknik yazı ilk olarak 2022-12-19 tarihinde yayımlandı. Kod örnekleri o tarihteki sürümlere göre yazılmıştır; güncel sürümlerde test edilmeden kullanmayın.

C# ile XSLT Dosyayı HTML’e Nasıl Çevirilir?

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.

Aklınızda bir yazılım fikri mi var, yoksa mevcut sistemler işinizi mi yavaşlatıyor?

Nereden başlamanın mantıklı olacağını birlikte konuşalım. Telefonla arayabilir ya da e-posta gönderebilirsiniz.