Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Leggere e Scrivere XML

  1. #1
    Utente di HTML.it L'avatar di t30n3
    Registrato dal
    Jun 2005
    Messaggi
    111

    Leggere e Scrivere XML

    Ciao a tutti,
    sono abbastanza niubbo di asp.net e chiedo aiuto.

    ho creato una pagina che legge da un file xml e mette i dati in una DetailsView, con il seguente codice:

    codice:
    <asp:XmlDataSource ID="XmlDataSource2" runat="server" DataFile="~/XML/listapc.xml"></asp:XmlDataSource>
            <asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False"
                BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px"
                CellPadding="3" DataSourceID="XmlDataSource2" GridLines="Vertical" Height="65px"
                Width="505px" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" AutoGenerateInsertButton="True" HorizontalAlign="Justify">
                <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
                <EditRowStyle BackColor="DarkGray" Font-Bold="True" ForeColor="White" BorderColor="White" BorderStyle="Solid" BorderWidth="10px" HorizontalAlign="Justify" VerticalAlign="Middle" Wrap="False" />
                <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
                <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
                <Fields>
                    <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" />
                    <asp:BoundField DataField="produttore" HeaderText="produttore" SortExpression="produttore" />
                    <asp:BoundField DataField="tipologia" HeaderText="tipologia" SortExpression="tipologia" />
                    <asp:BoundField DataField="vendita" HeaderText="vendita" SortExpression="vendita" />
                </Fields>
                <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="Gainsboro" />
                <InsertRowStyle BackColor="DarkGray" BorderColor="White" BorderStyle="Solid" BorderWidth="10px"
                    ForeColor="White" HorizontalAlign="Justify" VerticalAlign="Middle" Wrap="False" />
            </asp:DetailsView>
    Ora quando voglio modificare o inserire un nuovo "record", quando effettuo il comando di update o di insert mi va in errore l'applicazione, lanciando la seguente eccezione:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Ora mi pare di capire che visto che non c'è nessun comando che effettua le operazioni indicate, vada in errore per quello... Vorrei sapere dove devo inserire queste operazioni, quali eventi devo gestire per fargli fare quello che dico io etc etc...
    Potete indicarmi anche un tutorial che fa una cosa del genere, poi mi arrangio io...

    Grazie a tutti dell'aiuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    18
    Ma perchè usate i datasource negli oggetti?
    non è meglio che fai il bind da codice?

  3. #3
    Ciao, ti segnalo questi miei post riguardante l'utilizzo di xml tramite .Net.
    http://blog.shareoffice.it/emanuele/...2/11/9344.aspx
    e qua
    http://blog.shareoffice.it/emanuele/...2/11/9343.aspx
    Ciao EMa
    Sito Web:
    http://blog.shareoffice.it/emanuele
    Blog Personale
    http://emanuelemattei.blogspot.com/

  4. #4
    Utente di HTML.it L'avatar di t30n3
    Registrato dal
    Jun 2005
    Messaggi
    111
    Originariamente inviato da pepgal
    Ma perchè usate i datasource negli oggetti?
    non è meglio che fai il bind da codice?
    se mi spieghi come fare poi a "chiamarlo" nella pagina aspx posso anche fare così... ho scelto quella soluzione perchè è quella che viene meglio con la modalità "progettazione" di VisualStudio

  5. #5
    Utente di HTML.it L'avatar di t30n3
    Registrato dal
    Jun 2005
    Messaggi
    111
    Ho trovato un modo per leggere il file senza datasource, in questo modo:

    codice:
    Dim Doc As New XmlDocument
                Doc.Load(Server.MapPath("XML/listapc.xml"))
    
                Dim list As XmlNodeList
                Dim node As XmlNode
                Dim attr As XmlAttribute
                list = Doc.SelectNodes("listapc/pc")
    
                Dim x As Integer
                For x = 0 To list.Count - 1
                    node = list(x)
                    For Each attr In node.Attributes
                        Response.Write(attr.Name & ": ")
                        Response.Write(attr.Value() & "
    ")
                    Next
                Next
    Ora come faccio a "legarlo" ad una tabella??

    Grazie

  6. #6

    Ciao, puoi inserire i dati in un datatable e poi aggiornare il database, oppure fare delle query.
    Ciao Emanuele.
    Sito Web:
    http://blog.shareoffice.it/emanuele
    Blog Personale
    http://emanuelemattei.blogspot.com/

  7. #7
    Utente di HTML.it L'avatar di t30n3
    Registrato dal
    Jun 2005
    Messaggi
    111
    Ciao,
    per ora ho fatto così:

    codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                LoadXML()
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try
        End Sub
    
        Sub LoadXML()
            Dim listapc = New DataSet
            listapc.ReadXML(Server.MapPath("XML/listapc.xml"))
    
            DataGrid1.DataSource = listapc
            DataGrid1.DataBind()
        End Sub
    mettendo i dati in un datagrid direttamente. A questo datagrid ho aggiunto una editcommandcolumn per andare in modifica... Ora come faccio a gestire il recupero ad esempio dell'id da codice??

    Grazie della pazienza...

  8. #8

    Ciao, supponi che la colonna di cui vuoi ricavare i dati si chiami ID e vuoi ottenere quello della prima riga.
    Da codice puoi fare così (l'ho fatto senza provare, quindi dovresti modificarlo)
    dim dtsDati as new dataset = ctype(datagrid1.dasource, dataset)
    messagebox.show(dtsDati.tables(0).rows(0).colums(" ID"))
    Ciao Emanuele.
    Sito Web:
    http://blog.shareoffice.it/emanuele
    Blog Personale
    http://emanuelemattei.blogspot.com/

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.