2009-12-15 5 views
2

i ont un fichier XML qui ressemble à ceci:comment trier xml?

<root> 
    <data name="UserName">User Name</data> 
    <data name="Password">Password</data> 
    <data name="LogIn">Log In</data> 
    <data name="InvalidPassword">Invalid password</data> 
    <data name="InvalidUserName">Invalid username</data> 
</root> 

Comment trier le fichier lui-même? Je veux trier par 'nom'.

+0

Est-il analysé dans une sorte de DOM comme api du tout? –

+0

XML n'est rien de plus qu'une structure commune pour un fichier texte. Il n'y a pas de commandes, et ce n'est pas destiné à être lu par des humains. Tout tri sera fait avec n'importe quel programme que vous utilisez le fichier XML. Besoin de plus d'informations pour gérer cette partie ... –

+1

'XML' est un moyen de représenter les données - le tri entre en jeu lorsque vous affichez les données. Quelle est votre utilisation? – Amarghosh

Répondre

2

Voici un modèle XSLT qui ferait l'affaire:

<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 
<xsl:template match="/"> 
    <root> 
     <xsl:apply-templates select="root/data"> 
      <xsl:sort select="@name" order="ascending"/> 
     </xsl:apply-templates> 
    </root> 
</xsl:template> 
<xsl:template match="data"> 
    <xsl:copy-of select="."/> 
</xsl:template> 
</xsl:stylesheet> 
+0

J'essaie le vôtre mais je n'ai pas de succès. Pouvez-vous poster votre entrée et sortie d'échantillon? –

+0

J'ai utilisé l'entrée de la question (avec un en-tête xml approprié), et le modèle XSLT exact que j'ai fourni dans la réponse. Le résultat est: Mot de passe invalide Nom d'utilisateur invalide Connexion Mot de passe Nom d'utilisateur