mkScheller Geschrieben 24. Mai 2005 Teilen Geschrieben 24. Mai 2005 Hi Leute, (in XSL) Ich habe folgende Zeichenkette/String: <Attract Title="Titel">[I]text[/I]</Attract> mit dem Ziel den zwischen den Tags stehenden text zu ermitteln. Dazu würde ich substring-before und substring-after verwenden. Allerdings bereitet da das '<' und das '>' einige Probleme. Vorgehensweise: ich deklariere eine Variable varWhat <xsl:variable name="varWhat"></Attract></xsl:variable> Und dann versuche ich über <xsl:variable name="varAttractContentInside" select="substring-before($varAttractContent, $varWhat)"/> der Variablen varAttractContentInside den Wert "<Attract Title="Titel">text" zuzuweisen, sodass ich nun über substring-after(varAttractContentInside, ">") an die gesuchte Zeichenkette komme. Das geht aber so nicht, da der XSL-Transformer das < und das > so übernimmt und dementsprechend innerhalb der Zeichenkette nicht nach "</Attract>" sucht sondern nach "</Attract>" und nichts findet. Hat vielleicht jemand ne Idee, wie man das richtigstellen kann?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 24. Mai 2005 Teilen Geschrieben 24. Mai 2005 Wenn du den Wert eines XML Tags haben willst, brauchst Du dich doch nicht mit Substring rumärgern... Versuchs doch mit value-of http://www.w3schools.com/xsl/xsl_value_of.asp Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 27. Mai 2005 Autor Teilen Geschrieben 27. Mai 2005 OK, ich habe wie immer viel zu kompliziert gedacht. Habe es nach dem Posten des Threads selber in 10min später rausbekommen <xsl:for-each select="DestinationGuidesCountry/Attractions/Attract"> <xsl:variable name="varContent" select="."/> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.