Fondamentalement, je possède une chaîne créée à partir d'une boucle par exemple, séparés par des virgules. A, B, C, Je veux me débarrasser de la dernière virgule. Maintenant, la dernière ligne devrait me donner A, B, C sans le "," dans le dernier. Quelqu'un peut-il me dire ce qui ne va pas?Substring, la fonction de longueur de chaîne en XSLT
3
A
Répondre
7
Vous êtes sortie des espaces en raison de la façon dont vous avez formaté le XML. Vous pouvez le réparer de deux façons. La première consiste à supprimer tout simplement la mise en forme:
<xsl:for-each select="valueinElement"><xsl:value-of select="@attributeValue"/>,</xsl:for-each>
L'autre, de façon plus robuste est de changer la façon dont vous manipulez les espaces:
<xsl:for-each select="valueinElement">
<xsl:value-of select="@attributeValue"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
Ce que cela fait est le traitement juste la virgule comme élément afin qu'il ignore les espaces blancs entourant, au lieu de traiter la totalité des espaces à l'intérieur de la boucle for-each
dans le cadre de la sortie.
Pour référence, je courais les extraits XSLT ci-dessus par rapport au fichier XML suivant:
<root>
<valueinElement attributeValue="dogs"/>
<valueinElement attributeValue="cats"/>
<valueinElement attributeValue="mice"/>
<valueinElement attributeValue="lasers"/>
<valueinElement attributeValue="frogs"/>
</root>
et a obtenu la sortie suivante dans les deux cas:
dogs,cats,mice,lasers,frogs
3
Il suffit d'utiliser ce remplacement, il corrigera votre sortie.
<xsl:value-of select="substring($myConcatString,1,$valueLength)"/>
avec
<xsl:value-of select="substring($myConcatString,0,$valueLength)"/>
Questions connexes
- 1. Paramètre de longueur non valide passé à la fonction SUBSTRING
- 2. Valeur maximale en fonction de la taille de la longueur et de la longueur en .NET
- 3. SAP DB: fonction de longueur de chaîne SQL?
- 4. La fonction SubString dans le lancement de vb.net Exception
- 5. XSLT - activer la fonction XPath dans XSLT
- 6. Question de chaîne XSLT très simple
- 7. XSLT: xsl: la fonction ne fonctionne pas
- 8. Suppléments de chaîne XSLT
- 9. Définition de Substr à une longueur supérieure à la longueur de la chaîne
- 10. SQL SUBSTRING vs RIGHT - Meilleure pratique
- 11. Ajout de nouveaux éléments au texte Substring
- 12. Trouver le nombre d'occurrences d'une sous-chaîne dans une chaîne en xslt
- 13. Besoin de l'utilisateur pour entrer la chaîne/vérifier la longueur de la chaîne (C++)
- 14. C# Substring et ToUpper
- 15. Longueur de la fraction
- 16. Comment supprimer des caractères particuliers d'une chaîne en utilisant XSLT?
- 17. Prédire la longueur d'une chaîne cryptée
- 18. Décodage Base64 - longueur de chaîne incorrecte
- 19. Comment obtenir la longueur d'une chaîne en Perl?
- 20. Comment couper une chaîne en sous-chaînes de longueur donnée
- 21. Code de hachage numérique de longueur fixe à partir d'une chaîne de longueur variable dans C#
- 22. Traitement de la séquence vide dans la fonction XSLT
- 23. Expression régulière pour limiter la longueur de chaîne
- 24. convertir la chaîne de caractères hexadécimale en entier en Java
- 25. longueur de chaîne entre les pointeurs
- 26. Fonction chaîne de sous-chaîne
- 27. Fonction abs Xslt?
- 28. Quelle est la longueur de chaîne d'un GUID?
- 29. javascript substring help
- 30. Fonction diviser la chaîne en décimales?
grand, u m'a sauvé heures !! – chugh97
@Welbog: n'avez-vous pas obtenu une virgule finale après les grenouilles? Je ferais cela en utilisant concat (@attributeValue, « ») que je lance parfois Tidy sur mon XSL et je ne veux pas la mise en forme du XSL pour changer la sortie. –