problème de tri xml par date<xsl:sort select=“”/>
Je suis en train de trier mes xml par jour mais sa ne marche pas mon xml et xsl r comme ce
<xsl:template match="/">
<xsl:for-each select="news/item">
<xsl:sort select="date1" order="descending" />
<xsl:value-of select="date1"/>
</xsl:for-each>
</xsl:template>
MYXML
<news>
<item>
<date1>January 1, 2010</date1>
</item>
<item>
<date1>November 29, 2009</date1>
</news>
Its displaying the result but not in sorted way..
OriginalL'auteur AB. | 2010-01-19
Vous devez vous connecter pour publier un commentaire.
xsl-tri
ne "sait pas" comment faire pour trier les dates. Il va utiliser la valeur par défaut de texte genre, mais vous pouvez spécifier tri numérique à l'aide de ladata-type
attribut.Il existe plusieurs approches pour résoudre ce - ajouter un attribut ou modifier la façon dont vous la date de sortie de la source XML, de sorte que vous avez à une représentation, vous pouvez trier numériquement.
OriginalL'auteur Oded
Vous pouvez essayer d'utiliser quelque chose comme ceci:
Bien, si vous avez le contrôle sur la génération XML, je voudrais aussi mettre quelque chose comme:
Et ensuite utiliser
xs
espace de noms?OriginalL'auteur Paulo Santos
Vérifier ce problème pour la solution du problème. Il utilise XSLT trier pour trier XML par les dates dans le format XML.
Fait. Merci!!!!
OriginalL'auteur DSS
Date dans le xml est une chaîne de caractères. À moins que la date de toujours ressemble à ceci: aaaa-mm-jj vous ne pouvez vraiment pas les trier dans l'ordre correct.
Donc, ce est la bonne façon:
Il fonctionne comme un charme.
OriginalL'auteur Waseem Khan
si vous avez le contrôle sur le xml génération:
D'entrée:
Transformer:
De sortie:
que vous pouvez utiliser comme d'habitude
Greetz
OriginalL'auteur Ilia
Vous pouvez trier les date1 champ à l'aide de la NOUS format de date pour créer année/mois/date chaîne de caractères, puis le tri décroissant. Dans le xsl:for-each balise, vous devez ajouter ceci:
OriginalL'auteur David Anderson