Announcement

Collapse
No announcement yet.

aus XML lesen und zerlegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • aus XML lesen und zerlegen

    Hallo!

    Ich habe folgendes Problem: Ich möchte aus einer XML-Datei mit Hilfe von XSL etwas auslesen. Und zwar brauche ich die Werte, die in dem XYZ-Tag nachfolgend stehen.

    Code:
    [...]
    <XYZ Esel="J" Hund="J" Katze="N"/>
    [...]
    Ich brauche diese als Variablen. Könnt ihr mir bitte helfen.
    Danke schon mal im Voraus.
    --
    http://www.vic-fontaine.com/

  • #2
    Es handelt sich um Attribute, deren Werte nach den XPath-Regeln so zugänglich sind:
    XYZ/@Esel
    XYZ/@Hund
    XYZ/@Katze

    Comment


    • #3
      Danke für die schnelle Antwort!
      Werde es gleich mal verwenden.
      --
      http://www.vic-fontaine.com/

      Comment


      • #4
        Ich habe ein ähnliches Problem

        PHP Code:
            <xsl:choose>
            <
        xsl:when test="parameters/@zahl = '7'">
                <
        xsl:attribute name='test'><xsl:value-of select="substring(@msg, 1, 7)"/></xsl:attribute>
            </
        xsl:when>
            <
        xsl:when test="parameters/@zahl = 10">
                <
        xsl:attribute name='test'><xsl:value-of select="substring(@msg, 1, 10)"/></xsl:attribute>
            </
        xsl:when>
            <
        xsl:otherwise>
                <
        xsl:attribute name='test'>hier ist was falsch</xsl:attribute>
            </
        xsl:otherwise>
            </
        xsl:choose
        Es wird leider immer "hier ist was falsch" ausegegeben.

        Was ist hier falsch?
        --
        http://www.vic-fontaine.com/

        Comment


        • #5
          Probiere es so, wobei die Umsetzung von den konkreten XML-Inhalten abhängt.

          Code:
          <xsl:attribute name="test">
            <xsl:choose> 
              <xsl:when test="parameters/@zahl = 7"> 
                <xsl:value-of select="substring(@msg, 1, 7)"/>
              </xsl:when> 
              <xsl:when test="parameters/@zahl = 10"> 
                <xsl:value-of select="substring(@msg, 1, 10)"/>
              </xsl:when> 
              <xsl:otherwise>
                hier ist was falsch
              </xsl:otherwise>
            </xsl:choose>  
          </xsl:attribute>
          Kompakter wäre noch:
          Code:
          <xsl:when test="parameters/@zahl = 7 or parameters/@zahl = 10"> 
            <xsl:value-of select="substring(@msg, 1, parameters/@zahl)"/>
          </xsl:when>

          Comment

          Working...
          X