Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315

    [delphi] importare dati da xml a tabella

    Ciao a tutti,

    devo importare un file xml in una tabella di firebird

    in delphi inserisco il comonente xml il quale legge questa struttura, ma non sono riuscito a capire come importare i dati.

    qualcuno può suggerirmi come fare?

    frazie

  2. #2
    Dov'è che ti fermi? Nella gestione del database o nella lettura del file xml?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Originariamente inviato da denis76
    Dov'è che ti fermi? Nella gestione del database o nella lettura del file xml?
    ciao,

    mi fermo in entrambi, nel sewnso che una volta inserito il componente xml e associato il file non so come procedere per creare la truttura della tabella e per ricavare i dati

    grazie

  4. #4
    Forse pretendi di fare troppo senza scrivere codice.
    Per gestire xml in Delphi uso OpenPlioXml, una libreria ottima e veloce.
    Una volta caricati i dati in memoria li andrai a scrivere nel database come ritieni sia il caso.
    Mi collegherei a Firebird per mezzo di Ado.

    Ciao ciao.

  5. #5
    Per fare questi lavoretti delphi ha uno strumento che si chiama XmlMapper, lo trovi nel menu dei tools, è abbastanza intuitivo, e alla fine ti ritrovi il tuo xml caricato in un ClientDataSet, dal CDS alla tabella Firebird il giochino è abbastanza semplice.
    N.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Ciao, grazie per le risposte...

    x nettuno:
    non ho ben capito xmlmapper.

    io avrei bisogno di inserire l'importazione di un file xml (quindi dei dati contenuti in esso) in un programma per un cliente finale.

    come lo posso fare con xml mapper?

    grazie

  7. #7
    Se hai una serie di file xml, sempre con la stessa struttura, devi crearti un file di trasformazione, in modo da far diventare compatibile il file xml con il componente ClientDataSet.
    Per farti un piccolo esempio:
    Crea un nuovo progetto con delphi e inserisci i seguenti compoenti:
    TXMLTransformProvider,
    TClientDataSet,
    TDataSource,
    TDBGrid,

    Assegna visualmente (Object Inspector) le varie property:
    TDBGrid.Datasource = TClientDataSet
    TClientDataSet.ProviderName = TXMLTransformProvider
    TXMLTransformProvider.XmlDataFile = <nome del file xml da importare>

    Dalla voce tools del menu di delphi seleziona il programmino XmlMapper

    Con XmlMapper apri il file xml, nell'albero di sx vedrai tutti i nodi del tuo xml, nella parte centrale controlla che siano selezionate le voci: 'Create DataPacket As: ClientDataSet' & 'Transform Direction XML to DataPacket', seleziona il tuo nodo di root e con il tasto dx del mouse dal menù seleziona 'Select All', poi ancora tasto dx del mouse e seleziona 'Create DataPacket from xml', a questo punto si accente il bottone 'Create and Test transformation' lo puoi cliccare per vedere i dati, dopodichè dal menù seleziona la voce 'Save -> Transformation' e salva il file con estensine .xtr in una cartella.
    Il file .xtr che hai salvato vai a caricarlo nella property XMLTransformProvider.TransformRead.TransformationF ile, a questo punto se attivi il Cds, anche non compilando, nella tua DBGrid vedi i dati dell' XML. Un volta che i dati sono dentro il CDS ti viene facile buttarli su FB.

    N.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Grazie!

    sono riuscito ad inserire i dati nel CDS e a visualizzarli nella dbgrid.
    anche se non sono molto pratico del componente CDS, penso oggi, proverò a leggerlo e ad importare i dati nella mia tabella Firebird...farò sapere quanto prima.. grazie mille per la spiegazione molto esauriente

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Ciao,

    scusa se se lolo adesso ho la possibilità di riprendo l'argomento..

    mi ritrovo un problema:

    nella lettura del file xml ottengo un errore del parser alla prima riga del file xml e poi successivamente all'ultima riga del file xml. eliminando queste due righe riesco a leggere i dati.

    queste le prime righe e le ultime righe del file


    codice:
    2f3e 
    <?xml version="1.0" encoding="utf-8"?> 
    <Export>
    ....
    ....
    </Export>
    0
    c'e' qualche controllo da attivare per non far avvenire l'errore o devo modificare tutti i file eliminando le prime righe e le ultime righe?

    grazie

  10. #10
    Cosa sono quei caratteri come 2f3e prima dei tag?

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