Announcement

Collapse
No announcement yet.

Mehr als eine ausgabe

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

  • Mehr als eine ausgabe

    Hi Leute.. ich verzweifel irgendwie an einer ausgabe...


    Ich habe Mehrere CTC Codes in meiner XML und dachte er würde mir diese Ausgeben, macht er Jedoch nicht..

    Ich probiere es so:

    Code:
                    <tr>
    		<td>
    		<span style="font-size:x-small">CTC-Code</span>
    		</td>
    		<td>
    		<span style="font-size:x-small">:</span>
    		</td>
    		<td>
    		<span style="font-size:x-small"><xsl:value-of select="str[@name='CTC']"/></span>
    		</td>
    		</tr>
    Weiß einer was ich Falsch mache?

  • #2
    Greife auf das Element mehrfach zu, entweder über strukturierte xsl:template-Aufrufe oder mittels xsl:for-each innerhalb eines Templates. Mehr lässt sich ohne XML-/XSLT-Code nicht sagen.

    Comment


    • #3
      Also die XML siehst etwar so aus...

      HTML Code:
      <response><lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">1</int><lst name="params">
      <str name="indent">on</str>
      <str name="start">0</str>
      <str name="q">test*
      </str>
      <str name="version">2.2</str>
      <str name="rows">10</str>
      </lst>
      </lst><result name="response" numFound="5" start="0"><doc>
      <str name="ALTERNATIVE">0</str>
      <str name="BASE">56756567357</str>
      <str name="CAP">34775656757</str><arr name="CTC">
      <str>117788</str>
      <str>117788</str>
      </arr>
      <str name="CTCSTATUS">C</str>
      <str name="CUREDTIRE">RI-CT00662</str>
      <str name="EXTENSION">XML</str>
      <str name="FINISHEDTIRE">RI-FT00662</str>
      <str name="Filename">Test038871</str>
      <str name="GREENTIRE">RI-GT00662</str><arr name="Hash">
      <str>3456</str>
      <str>1245</str>
      </arr>
      <str name="REVISONDATE">20090320</str><arr name="SALESCODE">
      <str>39394959683623</str>
      <str>4774777477232647</str>
      </arr>
      <str name="TREAD">456567889789567</str>
      <str name="TYPE">SPEC</str>
      <str name="VALIDDATE">20090111</str>
      <str name="WINGS">89988979890678976890</str>
      <str name="id">005</str>
      <int name="popularity">0</int>
      <str name="sku">005</str>
      <date name="timestamp">2009-06-30T10:23:04.143Z</date>
      </doc>
      </result>
      </response>
      und mein XLST Code willst du nicht sehen, der ist so schlecht dass er nichtmal im IE Läuft :-(

      Der oben gezeigt Code beschreibt die Stelle in der ich das ausgebe.

      Comment


      • #4
        Im Dokument gibt es offenbar kein str-Element mit Attribut name="CTC". Wenn es mehrere gäbe dann halt im jeweiligen Kontext abfragen:
        Code:
        <xsl:for-each select="str[@name='CTC']">
          <xsl:value-of select="."/>
        </xsl:for-each>

        Comment


        • #5
          Danke..

          Sieht dann in meiner XLST So aus:


          HTML Code:
                          <td>
          		<span style="font-size:x-small">
                          <xsl:for-each select="str[@name='CTC']">
                             <xsl:value-of select="."/>
                          </xsl:for-each>
                          </span>
          		</td>

          Comment


          • #6
            Aaber leider geht es nicht, die Anzeige Zeigt nichts an, Fehler bekomme ich jedoch auch nicht...

            Comment


            • #7
              Ok, aheb es... es musste

              Statt
              str[@name='CTC']
              das hier sein:
              arr[@name='CTC']

              Comment


              • #8
                Ok, ne Kleine frage habe ich noch...

                der Gibt mir nun beide CTC Nummern direckt hinterenander aus, also 117788117788 scghönrer wäre 117788, 117788

                Wie bekomm cih denn das hin?

                Comment


                • #9
                  Ausgabe von ", " über xsl:text (sofern es nicht die letzte Position ist):
                  Code:
                  <xsl:for-each select="arr[@name='CTC']">
                    <xsl:value-of select="."/>
                    <xsl:if test="position() != last()"><xsl:text>, </xsl:text></xsl:if>
                  </xsl:for-each>

                  Comment

                  Working...
                  X