Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    10

    XSLT per prendere i primi 10 caratteri di un nodo di un xml

    Salve a tutti,
    Come da oggetto ho bisogno di creare un XSLT per trasformare un xml in fase di importazione in access.

    il mio xml di origine è il seguente:

    codice:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <Staff>
    <File>staff.php</File>
    <Fetchdate>2014-06-16 17:53:50</Fetchdate>
    <IdTeam>614</IdTeam>
    <StaffMechanicians>20</StaffMechanicians>
    <StaffTechnics>6</StaffTechnics>
    <StaffPR>12</StaffPR>
    <StaffObservers>2</StaffObservers>
    <StaffFitnessCoaches>4</StaffFitnessCoaches>
    <StaffRepairman>10</StaffRepairman>
    <StaffTeamSpirit>20</StaffTeamSpirit>
    </Staff>
    Vorrei eliminare dal nodo Fetchdate le ore prendendo solo i primi 10 caratteri.
    Ho provato con un substring in questo modo, ma non va bene...

    codice:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="Staff/Fetchdate">
        <xsl:value-of select="substring(.,1,10)"/>
      </xsl:template>
    </xsl:stylesheet>
    Cancella tutto e mi restituisce solo il contenuto dei nodi...inutilizzabile in access....
    Cosa sbaglio?

    Grazie per l'aiuto.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, credo che tu debba creare una copia di tutti i nodi e quindi modificare solo il testo del nodo interessato.

    Potrebbe essere una cosa del genere:
    codice:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
      
      <xsl:template match="@*|node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>
    
      <xsl:template match="Staff/Fetchdate/text()">
        <xsl:value-of select="substring(.,1,10)"/>
      </xsl:template>
    
    </xsl:stylesheet>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    10
    Perfetto grazie!!!!
    Errore banale....purtroppo non ho mai studiato programmazione e mi arrangio all'occorrenza da autodidatta su internet....
    Comunque SOLVED :-D

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.