Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: xml quanti problemi

  1. #11
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ci avevo pensato:
    avevo scritto così:
    Sub BindData()

    Dim xNews As XmlTextReader
    Dim dsXml As New DataSet()

    xNews = New XmlTextReader(Server.MapPath("Vesta/FromAgenzie/News.xml"))
    dsXml.ReadXml(xNews)

    News.DataSource = dsXml.Tables(1)
    News.DataBind()
    xNews.Close()

    End Sub
    ...................
    td width="325">
    <asp:Repeater id="News" runat="server">
    <HeaderTemplate>
    <table width="325">
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
    <td width="325">
    <font face="arial" size="1" color="#00000"> <%#Container.DAtaItem("Data")%></font>
    </td>
    </tr>
    <tr>
    <td width="325">
    <font face="arial" size="1" color="#1C3686"> <%#Container.DAtaItem("Testo")%></font>
    </td>
    </tr>
    <tr>
    <td width="325">
    <font face="arial" size="1" color="#00000"> <%#left(Container.DAtaItem("Articolo"), 50)%>.....</font>
    </td>
    </tr>
    <tr>
    <td width="325" height="10"></td>
    </tr>
    </ItemTemplate>
    </asp:Repeater>
    </td>
    ma il problema è cheio dovrei visualizzare solo i primi 3 record, diciamo e metterli in ordine di data... e questo non so come farlo con il datagrid!

  2. #12
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Originariamente inviato da elisa_rm74
    ma il problema è cheio dovrei visualizzare solo i primi 3 record, diciamo e metterli in ordine di data...
    Ah ho capito adesso

    Con la classe XmlTextReader leggi tutto il contenuto dell'xml attraverso un ciclo, quindi devi fare delle selezioni, si può fare, ma penso sia meglio l'Xpath.

    Spiegami una cosa, fammi vedere conuna tabella cosa vuoi venga visualizzato:

    <table>
    <tr>
    <td>Data</td><td>Testo</td><td>Articolo</td>
    </tr>
    </table>

  3. #13
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    a me serve che visualizzi i primi 3 "record" del foglio xml ordinati per data (dalla + recente alla + vecchia), il tutto su 3 righe:

    Data1
    Testo1
    Articolo1

    Data2
    Testo2
    Articolo2

    Data3
    Testo3
    Articolo3

    spero si possa ottenere... non ci ho mai lavorato con i fogli xml, riesco a stento a scrivere in .net cose + normali!!!

  4. #14
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Allora, io per risolvere un problema del genere utilizzo XPath però cè lo schema microsoft e mi complica un pò, ti posto questo script che puoi utilizzare per recuperare i primi tre record del tuo xml, ma non in ordine, li puoi riordinare dopo tu con un array od altro, non saprei.


    codice:
        Dim NXml as XmlTextReader
        Dim I As Integer
            Nxml = new XmlTextReader (Server.MapPath("prova.xml"))
    
            While NXml.Read()
    
                If NXml.NodeType = XmlNodeType.Element Then
    
                    If NXml.LocalName = "row" Then
    
                    I = I + 1
    
                        While NXml.MoveToNextAttribute()
    
                        Response.Write(NXml.Value &" - "& NXml.Name)
                        Response.Write("
    ")
    
                        End While
    
                    End If
    
                    If I = 3 Then
    
                        NXml.Close()
                        Exit While
    
                    End If
    
                End If
    
            End While

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Innazitutto ti ringrazio tantissimo! Perfetto! Ma come faccio a visualizzare tutto dentro una cella di una tabella? non posso usare un placeholder perchè, come puoi leggere dai messaggi precedenti, non rispetta il layout.

  6. #16
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Originariamente inviato da elisa_rm74
    non posso usare un placeholder
    Che cosè ? VVoVe:


    Puoi sempre utilizzare la variabile I e ne metti un'altra.



    codice:
        Dim NXml as XmlTextReader
        Dim I As Integer
            Nxml = new XmlTextReader (Server.MapPath("prova.xml"))
        
            While NXml.Read()
        
                If NXml.NodeType = XmlNodeType.Element Then
        
                    If NXml.LocalName = "row" Then
        
                    I = I + 1
        
                        While NXml.MoveToNextAttribute()
                        
                        Dim C As Integer
                        
                            C = C + 1
        
                        TNews.Rows(I).Cells(C).InnerHTML = NXml.Value 
        
                        End While
        
                    End If
        
                    If I = 3 Then
        
                        NXml.Close()
                        Exit While
        
                    End If
        
                End If
        
            End While

    Spero sia giusto, + o - è cosi !


  7. #17
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    grazie mille finalmente ne sono uscita!!!!

    Grazie davvero!!!

  8. #18
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Se farò qualcosa in XPath che è + semplice e veloce te lo faccio sapere.


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.