Avatar billede nissetec Nybegynder
17. januar 2007 - 13:38 Der er 2 kommentarer og
1 løsning

Udtræk af attributter

Hej

Jeg har en xml-fil, som udgør det vigtigste i en menu. xml-filen fortæller når der er et nyt punkt og underpunkt

<MenuItem name="Forside" id="index.htm"> fortæller, at der er et nyt menupunkt ved navn Forside og linker til index.htm. Som child kan der - hvis jeg havde udeladt id - være et <MenuItem> mere med name="Forside-link1" og f.eks. id="index2.htm".

Altså, <MenuItem> symboliserer et nyt menupunkt, uanset hvilket niveau, det er på.

Men nu har jeg brug for at få trukket alle id og name ud fra hele xml-filen. Jeg bruger en xsd-fil til at vise for-each, men så ville jeg jo kun kunne se data fra det første niveau.

Så hvordan
1) kan jeg med for-each og value-of få vist attributter?
2) kan jeg køre en hel xml-fil igennem for attributter?

Total ny i xml-verden, så tilgiv et måske lettere forvirret beskrivelse :)

MVH
Per
Avatar billede Slettet bruger
17. januar 2007 - 22:47 #1
Svaret på begge dine spørgsmål er "Ja" :-)

Men du kan nøjes med nogle få templates i stedet for for-each:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
    <xsl:template match="MenuItem">
        <ul>
            <xsl:apply-templates select="@*" />
            <xsl:apply-templates />
        </ul>
    </xsl:template>
   
    <xsl:template match="MenuItem/@name">
        <li>
            name: <xsl:value-of select="." />
        </li>
    </xsl:template>

    <xsl:template match="MenuItem/@id">
        <li>
            id: <xsl:value-of select="." />
        </li>
    </xsl:template>
   
</xsl:stylesheet>

/CS
Avatar billede nissetec Nybegynder
18. januar 2007 - 10:25 #2
Hvor er det genialt, i mangel af bedre udtryk.

Der takkes herfra
Avatar billede Slettet bruger
18. januar 2007 - 15:01 #3
Selv tak, du :-)

/CS
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