Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Xml e Xsl presentazione dati

    Salve sono nuovo di questo forum quindi ciao a tutti!!!
    sono un programmatore ASP ASP.net e mi sono trovato ad avere a che fare con XML e XSL.
    Da quanto ho capito Xsl presenta i dati XML in HTML.
    ORa io ho un file XML così fatto
    codice:
    <DB>
        <RECORD>
            <campo1>Prova</campo1>
            <campo2>Testo A</campo2>
            <campo3>
                    <sotto>I</sotto>
                    <sotto>VI</sotto>
                    <sotto>V</sotto>
            </campo3>
        </RECORD>
        <RECORD>
            <campo1>Secondo</campo1>
            <campo2>Testo B</campo2>
            <campo3>
                    <sotto>Uno</sotto>
            </campo3>
        </RECORD>
    </DB>
    volevo sapere come è possibile presentare in XSL i dati del mio file XML. Inoltre volevo sapere se la presenza dei "campi nidificati" nel campo3 è difficile da gestire oppure no.
    grazie a tutti

  2. #2
    vuoi convertire in HTML il contenuto del tuo file XML?
    prova a dare una lettura qui: è un buon punto dal quale partire.

    ciao

  3. #3
    grazie del link ho letto il tutorial non è difficile da comprendere ma ho un problema a trasformare il contenuto del campo3. Questo campo nel mio record è "composto" cioè ho un sotto insieme da scorrere io ho pensato di risolvere così ma non va
    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template match="/">
    <html>
     <body>
     <table>
     <tr>
     <td>Campo1</td>
      <td>Campo2</td>
       <td>Campo3</td>
     </tr>
    
        <xsl:for-each select="DB/RECORD">
            <tr>
              <td><xsl:value-of select="campo1"/></td>
              <td><xsl:value-of select="campo2"/></td>
              <td>
                 <xsl:for-each select="DB/RECORD/campo3">
                   <xsl:value-of select="sotto"/>
    
                 </xsl:for-each>
    
              </td>
            </tr>
        </xsl:for-each>
    
      </table>
     </body>
    </html>
    </xsl:template>
    
    </xsl:stylesheet>
    che devo fare?

  4. #4
    ho risolto era l'xml che non era fatto bene.
    alla fine ho fatto così.
    grazie dell'aiuto cmq
    xml:
    codice:
    <DB>
        <RECORD>
            <campo1>Prova</campo1>
            <campo2>Testo A</campo2>
            <campo3>
                 <rs>
                    <sotto>I</sotto>
                  </rs>
                  <rs>
                    <sotto>VI</sotto>
                  </rs>
                  <rs>
                    <sotto>V</sotto>
                  </rs>
            </campo3>
        </RECORD>
        <RECORD>
            <campo1>Secondo</campo1>
            <campo2>Testo B</campo2>
            <campo3>
                   <rs>
                    <sotto>Uno</sotto>
                   </rs>
            </campo3>
        </RECORD>
    </DB>
    e il file XSL
    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template match="/">
    <html>
     <body>
     <table>
     <tr>
     <td>Campo1</td>
      <td>Campo2</td>
       <td>Campo3</td>
     </tr>
    
        <xsl:for-each select="DB/RECORD">
            <tr>
              <td><xsl:value-of select="campo1"/></td>
              <td><xsl:value-of select="campo2"/></td>
              <td>
                  
    
    
                      <xsl:for-each select="campo3/rs">
                                     <xsl:value-of select="sotto"/>             
                      </xsl:for-each>
    
                  </p>
              </td>
            </tr>
        </xsl:for-each>
    
      </table>
     </body>
    </html>
    </xsl:template>
    
    </xsl:stylesheet>

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Prova con lo stesso Xml di prima con questo xsl:

    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template match="/">
    <html>
     <body>
     <table>
     <tr>
     <td>Campo1</td>
      <td>Campo2</td>
       <td>Campo3</td>
     </tr>
    
        <xsl:for-each select="DB/RECORD">
            <tr>
              <td><xsl:value-of select="campo1"/></td>
              <td><xsl:value-of select="campo2"/></td>
              <td>
                  
    
    
                      <xsl:for-each select="campo3/sotto"> 
                                     <xsl:value-of select="."/>               
                      </xsl:for-each> 
    
                  </p>
              </td>
            </tr>
        </xsl:for-each>
    
      </table>
     </body>
    </html>
    </xsl:template>
    
    </xsl:stylesheet>

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Oppure puoi applicare più template per avere un maggiore controllo.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.