Avatar billede tue Nybegynder
21. juli 2001 - 18:51 Der er 4 kommentarer og
3 løsninger

Hente udfra data i attribute.

Jeg har en meget stor xml fil som er delt op under forskellinge typer. Dette type \"id\" står som en attribute, og jeg kan derfor ikke finde ud af hvordan jeg læser den.

Her er et udsnit fra min xml fil:
<list>
    <top10 id=\"0\" type=\"udlaan\" renteinterval=\"0\" skat=\"0\">
        <overskrift>Billån</overskrift>
        <forudsaetninger>Beregningen er foretaget på baggrund af et lån (variabel rente) på 100.000 kr. og løbetid på 7 år</forudsaetninger>
        <link>http://www.mybanker.dk/?page=top10udlaan.html?laantype=0</link>
        <position nr=\"1\">
            <banklink></banklink>
            <navn>SkandiaBanken</navn>
            <visbankinfo>0</visbankinfo>
            <rentesats>5,30</rentesats>
            <aaop>7,0</aaop>
        </position>
        <position nr=\"2\">
            <banklink></banklink>
            <navn>Sparekassen Vestsjælland</navn>
            <visbankinfo>0</visbankinfo>
            <rentesats>5,50</rentesats>
            <aaop>7,8</aaop>
        </position>
        </top10>
    <top10 id=\"0\" type=\"udlaan\" renteinterval=\"0\" skat=\"1\">
        <overskrift>Billån</overskrift>
        <forudsaetninger>Beregningen er foretaget på baggrund af et lån (variabel rente) på 100.000 kr. og løbetid på 7 år</forudsaetninger>
        <link>http://www.mybanker.dk/?page=top10udlaan.html?laantype=0</link>
        <position nr=\"1\">
            <banklink></banklink>
            <navn>SkandiaBanken</navn>
            <visbankinfo>0</visbankinfo>
            <rentesats>5,30</rentesats>
                <aaop>5,1</aaop>
        </position>
        <position nr=\"2\">
            <banklink></banklink>
            <navn>Sparekassen Vestsjælland</navn>
            <visbankinfo>0</visbankinfo>
            <rentesats>5,50</rentesats>
            <aaop>5,9</aaop>
        </position>
    </top10>
</list>


... og sådan her ser min xsl fil ud:

<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\">
<xsl:template match=\"/\">
  <html>
  <body>
    <table border=\"0\">
      <tr>
        <th>Navn</th>
        <th>Rentesats</th>
      </tr>
      <xsl:for-each select=\"list/top10/position\" order-by=\"- rentesats\">
      <tr>
        <td><xsl:value-of select=\"navn\"/></td>
        <td><xsl:value-of select=\"rentesats\" /></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Håber i kan hjælpe.

Mvh.
Tue Sandal
tue@qcom.dk

Icq: 58548143
Avatar billede getalife Nybegynder
21. juli 2001 - 19:07 #1
<xsl:value-of select=\"@id\" />
eller
<xsl:value-of select=\"@type\" />
Avatar billede tue Nybegynder
21. juli 2001 - 19:53 #2
Du har vist ikke helt forstået spørgsmålet rigtigt...

Jeg skal hente ud fra id, type, renteinterval og skat.

Så den opdeling skal vel indskrives i denne linje: <xsl:for-each select=\"list/top10/position\" order-by=\"- rentesats\">

...eller er det bare mig der er galt på den? Kan du ikke komme med nogle eksempler?
Avatar billede getalife Nybegynder
21. juli 2001 - 20:28 #3
Jeg er lost.. hvilke data vil du have ud og hvorfra?
Avatar billede tue Nybegynder
21. juli 2001 - 21:04 #4
Prøv at kig på min xml kode. Den er opdelt i to tags.

Den først hvor skat er 0:
<top10 id=\"0\" type=\"udlaan\" renteinterval=\"0\" skat=\"0\">

Den anden hvor skat er 1:
<top10 id=\"0\" type=\"udlaan\" renteinterval=\"0\" skat=\"1\">

Det jeg skal have udskrevet er det der f.eks. står indenfor det tag hvor skat er 1, men den skal så ikke udskrive den del hvor skat er 0.

Er du med nu?
Avatar billede getalife Nybegynder
22. juli 2001 - 04:43 #5
yeah, det håber jeg da :o)

Problemet er at du ikke kan checke på noget inde i din for-each sætning.
Du bliver derfor nødt til at lave et check inden  i din løkke.
Det kunne evt laves således:

<xsl:for-each select=\"list/top10/position\" order-by=\"- rentesats\">
  <xsl:choose>
    <xsl:when test=\"/list/top10[@skat=\'0\']\">
      <tr>
        <td><xsl:value-of select=\"navn\"/></td>
        <td><xsl:value-of select=\"rentesats\"/></td>
      </tr>
    </xsl:when>
    <xsl:when test=\"/list/top10[@skat=\'1\']\">
      <tr>
        <td><xsl:value-of select=\"navn\"/></td>
        <td><xsl:value-of select=\"rentesats\" /></td>
      </tr>
    </xsl:when>
    <xsl:otherwise>
      noget helt tredie
    <xsl:otherwise>
  </xsl:choose>
</xsl:for-each>

Men der er lidt andre problemer.. smid mig lige en mail i morgen, så kigger jeg på det.
Avatar billede thunderbear Nybegynder
07. september 2001 - 12:49 #6
Foelgende goer det med en moderne XSLT processor.

<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<xsl:stylesheet
xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"
version=\"1.0\"
>
<xsl:template match=\"/\">
  <html>
  <body>
    <table border=\"0\">
      <tr>
        <th>Navn</th>
        <th>Rentesats</th>
      </tr>
      <xsl:for-each select=\"list/top10[@skat=\'1\']/position\">
      <tr>
        <td><xsl:value-of select=\"navn\"/></td>
        <td><xsl:value-of select=\"rentesats\" /></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
Avatar billede tue Nybegynder
10. november 2001 - 02:57 #7
Fandt en løsningen via asp. Takker fordi i forsøgte at hjælpe mig :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester