Thomas: For Each auf Knoten mit einem Attribut!

Hi! Hab folgendes XML File:

<cd cdcode="1">
<provider>ABC</provider>
</cdcode>
<cd cdcode="2">
<provider>DEF</provider>
</cdcode>
<cd cdcode="3">
<provider>GHF</provider>
</cdcode>
<cd cdcode="4">
<provider>FDD</provider>
</cdcode>

Nun möchte ich mit for each jeden Knoten ansprechen und den provider rauslesen:
<xsl:for-each select="/cd">
 <webmix><xsl:value-of select="provider"/</webmix>
</xsl:for-each>

Das funktioniert jedoch nicht, aufgrund des Attributes. Wie muss ich den Knoten ansrepchen damit es geht?

  1. Hi,

    Hi! Hab folgendes XML File:

    es ist nicht wohlgeformt.

    <cd cdcode="1">
    <provider>ABC</provider>
    </cdcode>

    Ein <cdcode>-Element war nicht geöffnet. Du schließt nirgendwo das <cd>-Element.

    Das funktioniert jedoch nicht, aufgrund des Attributes.

    Das Attribut hat nichts damit zu tun.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. <cd cdcode="1">
      <provider>ABC</provider>
      </cd>

      so siehts aus - musste die Daten und die Form abändern daher ein tippfehler!
      Aber das xml file ist auf jedenfall wohlgeformt!

    2. Hallo Cheatah,

      es ist nicht wohlgeformt.

      <cd cdcode="1">
      <provider>ABC</provider>
      </cdcode>

      Ein <cdcode>-Element war nicht geöffnet. Du schließt nirgendwo das <cd>-Element.

      Zudem fehlt auch das Wurzelelement.

      Grüße,
      Thomas

      1. Zudem fehlt auch das Wurzelelement.

        nochmal von vorne:

        xml:
        <pms>
         <cd cdcode="AB-C0001">
                        <provider>asdsa</provider>
        <label>asdsad</label>
        <cd>1</cd>
        <cdcode>cdf0001</cdcode>
         </cd>
        </pms>

        Ich hab in der Praxis mehrer cd´s naütrlich drinnen.
        Und jetzt meine Abfrage:
        <xsl:template match="/pms">
         <xsl:for-each select="/cd">
          <Production>j</Production>
          <Format>8</Format>
          <Label><xsl:value-of select="label" /></Label>
          <LabelCode><xsl:value-of select="cd" /></LabelCode>
         </xsl:for-each>
        </xsl:template>

        Diese Abfrage funktioniert jedoch nicht aufgrund des cdcode-attributes?!

        1. Hallo Thomas,

          Und jetzt meine Abfrage:
          <xsl:template match="/pms">
          <xsl:for-each select="/cd">

          ^
          Hier ist offenbar cd statt /cd gemeint, da cd unterhalb von pms liegt.

          Grüße,
          Thomas