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

    vb.net importare xml creato da un ws

    Ciao, questo è il mio primo post in questa sezione e sono proprio all'inizio con vb.net
    Ho un web services che mi genera dei file .xml
    Ora per imparare vorrei fare in modo di creare un'applicazione (windows form) che attraverso un pulsante si agganci al ws e importi il file xml ( che alla fine è una tabella ) dentro un file di access che è installato su un pc.

    Alla fine non è altro che una sovrascrittura di tabella dentro Access

    Mi potete fornire qualche consiglio per iniziare?
    Grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Ciao, non ho capito se per file .xml intendi ilmessaggio soap ritornato dal web service o un file .xml vero e proprio con dentro i nodi che rappresentano la tabella.
    Se si tratta del file xml allora devi leggere i dati del file xml, popoalre una struttura dati e riversare questa struttura dati in access con ado.net. Se per esempio il tuo file xml contiene una rubrica allora la tua struttura dati sarà una classe rubrica con i campi e tutto simile a cio che viene rappresentato dall'xml (spero tu abbia anche uno schema xsd per la validazione, è caldamente consigliato). L'xml lo leggi facilmente con LinqToXml. Il file puoi leggere tutto in una volta riversandolo in una List<Rubrica> per poi scrivere quest'ultima nel db oppure leggere e scrivere un record alla volta ma in un unico ciclo.
    Per scrivere dentro il db c'è ado.net. Per access devi usare ado.net 2.0 (oleDB, CommandQuery, dataadapter...) mentre se decidi di passare a database piu seri puoi avvalerti dei framework come entityframework o linq-to-sql che hanno il grande vantaggio di mappare il database sulla struttura dati (object model) per cui lavorando su di essa tu non devi preoccuparti del database in quanto è il framework a fare tutto il lavoro per te.

    Se invece per xml ti riferisci al messaggio soap allora la risposta è simile a quella di sopra solo che il messaggio soap lo devi prima leggere con una chiamata al webservice.

    Ci sono un sacco di esempi in rete che ti fano vedere come chiamare un web service caricare il risultato della chiamata in un nodo xml e scorrere l'xml con linqToXml, il piu sputtanato è il client twitter prova a cercare.

  3. #3

    xml importare dati

    Ciao grazie per la risposta,
    il file che ricavo è un xml con i nodi all'interno dei rispettivi campi che ho uguali nel db locale
    Adesso ho trovato questo esempio di sub che mi fa una insert il problema è che mi scrive ogni volta una nuova tabella invece che sovrascrivermi quella esistente.
    Qualche consiglio?
    Grazie ,ciao
    ------------------------------
    Dim appAccess As Object
    Dim dbname As String, xmlFile As String

    dbname = "p:\test.mdb"
    xmlFile = "p:\filexml.xml"
    appAccess = CreateObject("Access.Application")
    appAccess.OpenCurrentDatabase(dbname)
    appAccess.ImportXML(xmlFile)
    appAccess.CloseCurrentDatabase()
    appAccess.Quit()
    appAccess = Nothing

    End Sub
    -----------------------------------------

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.