Xml ve Xls

14.Ocak.2007 Asp.net C# Xml

Bir uygulama düşünün ki veriler xml dosyasında sunum ise web formunda olsun.

İşte tam aradığımız kontrol;

<asp:Xml ID="Xml1" runat="server" DocumentSource="~/App_Data/anket.xml" TransformSource="~/App_Data/Anket.xslt"></asp:Xml>

Verileri Xml dosyasında saklamının avantajlarından birisi de Xslt ile web uygulamalarına kolayca adapte edilebilmesidir. Örnek Xml verisi için Xslt kodu;

<?xml version="1.0" encoding="utf-8"?>
   <
xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
      <
xsl:template match="/">
         <
div id="header">
            ANKET SONULARI

         </
div>
         <
hr />
         <
xsl:call-template name="anket_oy" />
      </
xsl:template>
   <
xsl:template name="anket_oy">
   <
xsl:variable name="toplamOy" select="sum(Anket/cevap)" />
   <
table border="0" cellspacing="1" cellpadding="1" width="100%" id="votes">
      <
tr>
         <
th colspan="2">
            <
xsl:value-of select="Anlet/@ad"/>
            <
br/>
            <
br/>
         </
th>
      </
tr>
      <
xsl:for-each select="Anket/cevap">
      <
tr>
         <
td>
         </
td>
         <
td>
            <
xsl:value-of select ="@text"/>
         </
td>
      </
tr>
      <
tr>
         <
td width="25%">
            <
xsl:variable name="Toplam" select=". * 100 div $toplamOy" />
            % <xsl:value-of select="format-number(. * 100 div $toplamOy,'0')" />
         </
td>
         <
td>
            <
xsl:variable name="Toplam" select=". * 100 div $toplamOy" />
            <
img src="images/anket.png" height="10" width="{$Toplam}%" />
         </
td>
      </
tr>
      </
xsl:for-each>
   </
table>
   </
xsl:template>
</
xsl:stylesheet>

ve sonuç;

Anket

Yorumlar
Ekleyen
Hocam ben bu uygulamayı deniyorum. Fakat IE7 de çalışmıyor. Firefoxta sorunsuz çalışıyor. "Oy ver" butonu IE7 'de Post olmuyor. Saygılar...
Ekleyen
Az önce tekrar test ettim projeyi her hangi bir sorun yok. Hazırladığın projeyi bana yolla bir kontrol edeyim.
Ekleyen
Hatanın neden kaynaklandığını bulamasamda sorunu çözdüm. Şu anda IE-Firefox-Opera-Safari-Netscape te sorunsuz çalışıyor. İlgilendiğiniz için teşekkür ederim hocam...
Ekleyen
Hocam merhaba , .net notlarınız gercekten cok basarılı ..
Sitenizde dolaşırken cok faydalı seyler buluyorum ..

Bu uygulamanızı bende kullanmak istedim fakat ufak bir sorunla karsılastım ..

Vs 2008 kullanıyorum ve bir Xlst ' nin icine yukarıdakılerı harfiyen uyguladım fakat
sayfayı derledıkten sonra calıstırdıgım zaman

"xsl:call-template name="anket_oy"

bu satırdakı anket_oy ' un ne oldugunu bulamıyor ..
"The named template 'anket' does not exist."

Teşekkürler..
Ekleyen
Hocam bir de bu dizaynı nasıl elde edebilrim ..
Onunda kısa bir acıklamasını getirir veya kaynak css ' ini atarsanız minnettar olurum ..
Ekleyen
Ahmet selam,

8. satırdaki "survey_vote" değerini "anket_oy" olarak değiştirisen sorun kalmayacaktır.
Ekleyen
Teşekkür ederim
Ekleyen
Hocam tekrar merhaba , anket olayını burdakının aynısını yapmayı sayende basarınca , daha sonra kullanmak icin askıya almıstım .. O an geldi cattı ki , bazı problemler var .. Xml de pek iyi değilim , .net ' te pek kullanmadım bu gune kadar ..

Sorum şu hocam ;

Cevapları görüntülüyoruz cok guzel fakat , burdaki cvp lar hazır Xml ' in icinden geliyor ..

Benım database' imde bir "Poll" , birde "PollAnswers" diye tablolarım var ..

Suan mevcut olan Xml ' in formatında yazmam gerekiyor , tablolarımdaki cevapları ve oy sayılarını .. Bunuda pek beceremedim acıkcası ..

Konuyla ilgili yardımcı olursanız sevinirim .. Tesekkurler
Ekleyen
Selam Ahmet, verileri xml dosyasında saklıyorsan xslt kullanamanın bir manası olur. Madem veriler database içinde o zaman ado.net kullanarak verileri göstermen daha iyi olacaktır. Bunun için hazır bir örneğin yoksa siteye eklerim yarın.
Ekleyen
Harika olur , tskr ler ..
Ekleyen
2 gun gecti aradan , unutulduk galiba
Ekleyen
Selam,

yorum yazarken gerçek e-mail adresi kullanmak önemli ki irtibat kurmak açısından. Yoksa günlerce beklersiniz. Ana Sayfaya bakmanızı öneriyorum.
Ekleyen
Merhaba ,

Hocam sitenizde her zaman mail adresimi belirtmisimdir .. Cvp ' ınız gelmıs fakat ana sayfada oldgunu 4. gun sizden ogrendım .. 3. gun de goremeyınce, msg ' ı hızlıdan gonderme istegi hissettim .. Kızmanıza gerek yok , cok tesekkur ederım
Ekleyen

hocam ben dinamik bir web sayfası yapmak istiyorum. yani css'ye de müdahale edecek kodlar yazmak istiyorum. sanırım bunun için xsl kullanmam gerekiyor. acaba bunu nasıl yapabilirim. yani yönetici panelinde adam zafanın background-image'ını ayarlayacak. border-style'ını ayarlayacak. renkler şekiller filan. Temalar yoluyla bunun yapıldığını biliyorum fakat bu temaya c# ile nasıl müdahale edebilirim.


iki gündür sitenizi dolaşıyorum. inanın çok faydalı oldu teşekkürler.