16 Mar 2007 XML ve XSLT Kullanarak Dinamik ASP.NET Sayfaları Oluşturmak Kategori: ASP.NET Etiketler: ASP.NET 2 Yorum Merhaba arkadaşlar bu makalemizde Bir XML dökümanı oluşturup, oluşturduğumuz XML dökümanını XSLT ile sitil uygulayıp ASP.NET sayfalarında kullanacağız… Kısaca XML(Extensible Markup Language)XML veri alısverisinde kullanılacak standart bir format olarak kullanılan bir dildir. Uygulamalarımızı farklı platformalara tasımak istedigimizde en iyi çözümdür. XML belgelerine kendi etiketlerinizi ekleyebilir aynı veritabanlarındaki gibi istedigim fieldları gösterebiliriz. Application, dil, isletim sistemi vb. gibi kısıtlamalara baglı degildir. Uygulamalar kendi veri yapılarını tanımlayabilir. Son derece güvenligi oldugu için veri paylasımında yada dagıtımında sürekli kullanılır. Örnek olarak Haberler.XML'i olusturalım;<?xml version="1.0" encoding="utf-8" ?><Haberler> <Haber ID="1"> <Baslik>Sem Göksu MVP Oldu</Baslik> <Tarih>bugünün tarihi iste.</Tarih> <Icerik>Bi tebrigi hakettim J</Icerik> </Haber> <Haber ID="2"> <Baslik>Sem Göksu AJAX Semineri</Baslik> <Tarih>Gelecekte.</Tarih> <Icerik>Bilmemki.</Icerik> </Haber> <Haber ID="3"> <Baslik>Ajax güzel sey</Baslik> <Tarih>Gelecekte.</Tarih> <Icerik>güzel.....</Icerik> </Haber> <Haber ID="4"> <Baslik>Ajax güzel sey 2</Baslik> <Tarih>Gelecekte.</Tarih> <Icerik>güzel.....</Icerik> </Haber> <Haber ID="5"> <Baslik>Ajax güzel sey 3</Baslik> <Tarih>Gelecekte.</Tarih> <Icerik>güzel.....</Icerik> </Haber></Haberler>Simdi bu XML'i açtıgımız da neler olacak bi bakalım :) Ben bir sey anlamadım ziyaretçi nasıl anlasın. Bunu biraz biçimlendirelim. Ama nasıl? Kısaca XSLT(Extensible Stylesheet Language Transformation)Sitemizde haberleri farklı sitelerin de kullanması için XML'e döktük. Ama siteler Xml verisinin farklı bir formata dönüstürülmesini istiyor. XSLT standardı tam bu noktada karsımıza çıkıyor. XSLT, XML içerigine sitiller uygulayarak sayfalarımızın HTML formatına dönüstürülmesini saglar. Ayrıca xml üzerinde sıralama, filtreleme ve gruplama gibi islemler yapabiliriz. Örnek olarak HaberlerSitili.xsl'i olusturalım;<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><html><body><h1>Haberlerim...</h1><table border="0" borderColor="gray" cellpadding="0" cellspacing="0" width="700"><tr bgcolor="Yellow" height="20"><td>ID</td><td>Tarih </td><td>Baslık </td><td>Icerik </td></tr><xsl:for-each select="Haberler/Haber"><tr><td><xsl:value-of select="@ID"/></td><td><font size="2" color="Blue"><xsl:value-of select="Baslik"/></font></td><td><b><xsl:value-of select="Tarih"/></b></td><td align="right"><xsl:value-of select="Icerik"/></td></tr></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>Evet Simdi bu olusturdugumuz XML ve XSLT dökümanlarını birlestirerek HTML gibi bir çıktı alalım. Projemize bir sayfa ekleyelim;Ilk olarak sayfamızın namespacelerine System.XML ve System.XML.XSL'i ekleyelim.Sonra Forlm'un loadıında;VB.NETDim xdoc As New XmlDocument()xdoc.Load(Server.MapPath("haberler.xml"))Dim xsltran As New XslCompiledTransform()xsltran.Load(Server.MapPath("HaberlerSitili.xsl"))xsltran.Transform(xdoc, Nothing, Response.Output)C#NETXmlDocument xdoc = new XmlDocument();xdoc.Load(Server.MapPath("haberler.xml"));XslCompiledTransform xsltran = new XslCompiledTransform();xsltran.Load(Server.MapPath("HaberlerSitili.xsl"));xsltran.Transform(xdoc , null, Response.Output);Simdi sayfaımızı çalıstıralım; Az önceki çirkin XML simdi ne güzel oldu : )Bu makalemizinde de sonuna geldik. Tesekkür eder iyi çalısmalar dilerim. Sem GÖKSUMCP | MCAD.NET | MCTS | ASP.NET MVPÖrnek Kodlar için mail adresimi kullanabilirsinizsemgoksu@semgoksu.com Kaynaklar www.codeproject.com Yorum (2) Hikmet Eryıldız / 23.2.2020 21:18:01 Teşekkürler bilgi için. Güzel bir yazı olmuş işime yaradı. Aynura Rahmanova / 30.5.2020 20:30:24 XML ve XSLT kodlamalarını hiç bir program kullanmadan sadece notepad++ kullanarak yazdım . Ve şu kısımlarını nasıl yapıldığını anlamadım: ! Note defterini kullanma durumunda başka bir yöntemi ola bilirmi bu aşagdaki işlemlerin? ! Evet Simdi bu olusturdugumuz XML ve XSLT dökümanlarını birlestirerek HTML gibi bir çıktı alalım. Projemize bir sayfa ekleyelim; Ilk olarak sayfamızın namespacelerine System.XML ve System.XML.XSL'i ekleyelim. Sonra Forlm'un loadıında; VB.NET Dim xdoc As New XmlDocument() xdoc.Load(Server.MapPath("haberler.xml")) Dim xsltran As New XslCompiledTransform() xsltran.Load(Server.MapPath("HaberlerSitili.xsl")) xsltran.Transform(xdoc, Nothing, Response.Output) C#NET XmlDocument xdoc = new XmlDocument(); xdoc.Load(Server.MapPath("haberler.xml")); XslCompiledTransform xsltran = new XslCompiledTransform(); xsltran.Load(Server.MapPath("HaberlerSitili.xsl")); xsltran.Transform(xdoc , null, Response.Output); Yorum Yaz * Ad Soyad: * Email: * Message:
Yorum (2) Hikmet Eryıldız / 23.2.2020 21:18:01 Teşekkürler bilgi için. Güzel bir yazı olmuş işime yaradı. Aynura Rahmanova / 30.5.2020 20:30:24 XML ve XSLT kodlamalarını hiç bir program kullanmadan sadece notepad++ kullanarak yazdım . Ve şu kısımlarını nasıl yapıldığını anlamadım: ! Note defterini kullanma durumunda başka bir yöntemi ola bilirmi bu aşagdaki işlemlerin? ! Evet Simdi bu olusturdugumuz XML ve XSLT dökümanlarını birlestirerek HTML gibi bir çıktı alalım. Projemize bir sayfa ekleyelim; Ilk olarak sayfamızın namespacelerine System.XML ve System.XML.XSL'i ekleyelim. Sonra Forlm'un loadıında; VB.NET Dim xdoc As New XmlDocument() xdoc.Load(Server.MapPath("haberler.xml")) Dim xsltran As New XslCompiledTransform() xsltran.Load(Server.MapPath("HaberlerSitili.xsl")) xsltran.Transform(xdoc, Nothing, Response.Output) C#NET XmlDocument xdoc = new XmlDocument(); xdoc.Load(Server.MapPath("haberler.xml")); XslCompiledTransform xsltran = new XslCompiledTransform(); xsltran.Load(Server.MapPath("HaberlerSitili.xsl")); xsltran.Transform(xdoc , null, Response.Output);
Aynura Rahmanova / 30.5.2020 20:30:24 XML ve XSLT kodlamalarını hiç bir program kullanmadan sadece notepad++ kullanarak yazdım . Ve şu kısımlarını nasıl yapıldığını anlamadım: ! Note defterini kullanma durumunda başka bir yöntemi ola bilirmi bu aşagdaki işlemlerin? ! Evet Simdi bu olusturdugumuz XML ve XSLT dökümanlarını birlestirerek HTML gibi bir çıktı alalım. Projemize bir sayfa ekleyelim; Ilk olarak sayfamızın namespacelerine System.XML ve System.XML.XSL'i ekleyelim. Sonra Forlm'un loadıında; VB.NET Dim xdoc As New XmlDocument() xdoc.Load(Server.MapPath("haberler.xml")) Dim xsltran As New XslCompiledTransform() xsltran.Load(Server.MapPath("HaberlerSitili.xsl")) xsltran.Transform(xdoc, Nothing, Response.Output) C#NET XmlDocument xdoc = new XmlDocument(); xdoc.Load(Server.MapPath("haberler.xml")); XslCompiledTransform xsltran = new XslCompiledTransform(); xsltran.Load(Server.MapPath("HaberlerSitili.xsl")); xsltran.Transform(xdoc , null, Response.Output);