Announcement

Collapse
No announcement yet.

mehrere gleichnamige Elemente, davon eines Auslesen

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

  • mehrere gleichnamige Elemente, davon eines Auslesen

    Hallo :3

    Ich bin in XML/XSLT noch ziemlich am Anfang und verstehe bisweil noch recht wenig in diesen Sprachen.
    Aber nun zu meinem Problem..
    Ich habe folgende XML:
    HTML Code:
    <root>
      <daten>
        <info x="attribut1"> wert1 </info>
        <info x="attribut2"> wert2 </info>
        <info x="attribut3"> wert3 </info>
        <info x="attribut4"> wert4 </info>
        <info x="attribut5"> wert5 </info>
        <info x="attribut6"> wert6 </info>
      </daten>
    </root>
    Nun will ich den wert 3 bekommen und diesen in eine Tabelle schreiben..
    also:
    <td><xsl:value-of select="PFAD"/></td>

    Den Part mit der Tabelle bekomme ich hin, weiß aber nicht wie ich an den Wert 3 komme.
    Die Möglichkeit, die .xml zu ändern fällt weg, weil diese Struktur nicht geändert werden darf.

    Kann mir jemand sagen, wie ich das machen kann? -_-
    Ich bin so verzweifelt und sitze schon seit einer gefühlten Ewigkeit an diesem Problem.

    Ich danke euch schonmal :3

  • #2
    Code:
    /root/daten/info[@x = "attribut3"]

    Comment


    • #3
      Dankeschön!

      Nur noch ne kleine Anmerkung: es darf nicht "attribut3" sein sondern 'attribut3'.
      Auch wenn es nur ein tippfehler war, ich wollts anmerken
      Kann ja sein, dass der nächste daran scheitert..

      Comment


      • #4
        Ja klar, im select-Attribut mit doppelten Anführungszeichen schon, aber es könnte ja auch select='…' lauten. Dem XPath-Ausdruck selbst ist das egal.

        Comment


        • #5
          ich habs doch ausprobiert?
          es geht nicht.., wie denn auch!?

          <td><xsl:value-of select="/root/daten/info[@x="attribut3"]"/></td>
          So würde er "/root/daten/info[@x="attribut3" und "]" selektieren. attribut3 wäre dann nur ein "Text" (keine Ahnung, wie man es nennt.. Im Editor ist es dann schwarz ^^).

          Da man hier ja ein Attribut in einem Attribut hat, nimmt man beim gekapselten Attribut '' statt "".

          Und oben im Code steht ja bei mir select="..." und nicht select='...'
          Mag sein, dass
          <td><xsl:value-of select='/root/daten/info[@x="attribut3"]'/></td>
          das hier geht, kp. Aber es wäre "unschön", da man grundsätzlich attribute mit "" kennzeichnet und gekapselte mit ''.

          Aber das ist mir auch erstmal egal...
          Dank dir bin ich jetzt einige Schritte weiter!

          Comment


          • #6
            Wie man Attributwerte zuordnet, also mittels "…" oder '…' ist Geschmackssache, die übliche Konvention (in Editoren) sind tatsächlich doppelte Anführungszeichen. Letztlich geht es darum, die Wohlgeformtheit zu gewährleisten.

            Und ja, ich hätte den Ausdruck zum besseren Einfügen auch gleich passender wie in diesem Beispiel formulieren können. Vielleicht löst dieses Material weitere Probleme.
            Zuletzt editiert von Thomas Meinike; 17.05.2013, 18:11.

            Comment

            Working...
            X