HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Xml web kontrol használata, avagy hogyan hozzunk létre XSL állományt XML megjelenítéséhez


Példaprogram letöltése

9958 bájt

ASP.NET alkalmazásaink fejlesztésekor találunk a ToolBox WebForms palettáján egy Xml kontrolt. Ennek segítségével megjeleníthetünk a web oldalunkon egy XML állományban lévő adathalmazt, melynek formázását rábízhatjuk egy XSL állományra. Ezen állomány létrehozását, illetve az Xml kontrol felhasználási módját ismerhetjük meg ebből a cikkből.

Miután felteszünk egy ilyen kontrolt, két property-jét kell beállítanunk. A DocumentSource property-ben kell megadnunk az XML állományt, míg a TransformSource property-ben az XSL, vagy XSLT állományt.
Ezek után már futtatatható is a program, mivel a többi teendő az Xml kontrolon, illetve a két megadott állomány tartalmán múlik.
Nézzük ezen állományokat most.
Az XML-ben létrehozunk egy olyan adathalmazt, mely leírja az újságok címeit, azokhoz tartozó linket és hogy hány darab jelenik meg belőlük 2001-ben.
A feladat az lenne, hogy ezt a nyers adathalmazt mondjuk táblázatos formában megjelenítve tegyük közzé a web lapon. Ehhez lesz szükség egy XSLT állomány, melyben leírjuk, hogy miként jelenítendő meg az XML állomány tartalma.
<?xml version="1.0" ?>
<news xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <id code="dso">
    <name>Delphi Software Online</name>
    <link>http://www.SoftwareOnline.hu</link>
    <count dt:dt="number">53</count>
  </id>
  <id code="cso">
    <name>C# Software Online</name>
    <link>http://www.SoftwareOnline.hu</link>
    <count dt:dt="number">53</count>
  </id>
  <id code="wso">
    <name>Windows Software Online</name>
    <link>http://www.SoftwareOnline.hu</link>
    <count dt:dt="number">23</count>
  </id>
</news>
Az XSL állomány tartalmát tekintve úgy is fogalmazhatnánk, hogy nem más, mint a HTML kód, XML-hez hasonló kóddal ötvözve. Szerepeltethetünk tehát benne olyan HTML kódot, melyet a web oldalon is viszontlátunk, valamint megadhatunk egyéb vezérlő kódokat, melyek értelmezésre, feldolgozásra kerülnek és azoknak csak az eredménye jelenik meg.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="/">
A feladat szerint létre kell hoznunk egy táblázatot, melyben megjelenítjük az XML adatait, mindenki számára olvasható formátumban. A táblázat kirajzolásához a szokásos HTML kódot használjuk.
    <TABLE cellpadding="5">
      <TR>
        <TD class="f8b">Név</TD>
        <TD class="f8b">Link</TD>
        <TD class="f8b">2001-ben megjelenik</TD>
      </TR>
Mivel az XML állományunk tetszőleges számú adatot tartalmazhat, kezdeményezünk egy olyan ciklust az xsl:for-each használatával, mely a blokkban foglalt kódot annyiszor ismétli, ahány eleme van a news/id csomópontnak.
      <xsl:for-each select="news/id">
HTML kódolásban megadjuk a táblázat egy sorának és azon belül a cellák létrehozásának kódját.
        <TR>
          <TD>
A cellák tartalmát viszont már az XML állomány soron következő adatából kell vennünk. Ehhez az xsl:value-of-ot használjuk, ahol a select paraméterben megadható az a név, amelyhez tartozó adatot szeretnénk visszakapni.
            <xsl:value-of select="name" />
          </TD>
          <TD>
Ugyanezt tesszük a további cellákban is, minden egyes adatra nézve.
            <xsl:value-of select="link" />
          </TD>
          <TD>
            <xsl:value-of select="count" />
          </TD>
        </TR>
      </xsl:for-each>
    </TABLE>
  </xsl:template>
</xsl:stylesheet>
Ezzel a szükséges formázási kódokat, információkat létrehoztuk, a két állomány feldolgozását és az eredményt az Xml kontrol biztosítja.

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 519. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |