Sem Göksu
Sem Göksu
Yazılım · Yolculuk · Fenerbahçe
ASP.NET

XML ve XSLT Kullanarak Dinamik ASP.NET Sayfaları Oluşturmak

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…

16 Mart 2007 2 dk okuma 3062 2
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.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);

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ÖKSU
MCP | MCAD.NET | MCTS | ASP.NET MVP

Örnek Kodlar için mail adresimi kullanabilirsiniz
semgoksu@semgoksu.com

Kaynaklar

www.codeproject.com

Etiketler: #ASP.NET
Paylaş:

Yorumlar (2)

H
Hikmet Eryıldız 23 Şub 2020 21:18

Teşekkürler bilgi için. Güzel bir yazı olmuş işime yaradı.

A
Aynura Rahmanova 30 May 2020 20:30

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 bırak

* Yorumlar moderasyon sonrası yayınlanır. E-posta gizli tutulur.