Newsgroup: it.comp.lang.delphi
Titolo: importare xml in un database

Ciao a tutti, ho provato senza successo a leggere in file xml per poi
importarlo in una tabella di un database.
ho usato il componente XMLDocument di delphi7 ma riesco a leggere solo
alcuni dati.
Per esempio con il file XML:
<?xml version="1.0"?>
<rubrica>
        <computer>127.0.0.1</computer>
	<user>Utente</user>
 
		<contatto>
			<nome>Giulio</nome>
 
			<indirizzo>
				<via>Via Roma 7</via>
				<citta>Genova</citta>
			</indirizzo>
			<email>
us...@domain.com
</email>
			<tel>0123456789</tel>
			<fax>9876543210</fax>
 
		</contatto>
</rubrica>
tramite il seguente codice:
XMLDoc.FileName := 'c:\pp.xml';
XMLDoc.Active:=True;
StartItemNode:=XMLDoc.DocumentElement.ChildNodes.FindNode('contatto');
ANode := StartItemNode;
STitle := ANode.ChildValues['nome'];
sLink := ANode.ChildNodes['email'].Text;
sDesc := ANode.ChildNodes['tel'].Text;
showmessage(STitle);
showmessage(sLink);
showmessage(sDesc);
riesco a leggere nome,email,tel ma non so come fare per leggere il
contenuto di computer,user e i dati del contatto all'interno di
indirizzo.
Mi sapete dare una dritta?
Grazie a tutti

Grazie a tutti
	Ciao
	MassimoB
 
---------------------------
http:\\
www.massimobeschi.it

 importarlo in una tabella di un database.
Anch'io ho avuto la stessa necessitą proprio la settimana scorsa. Infatti
dovevo
importare un file .XML contenente gli ordini provenienti da Web.
Siccome perņ con gli strumenti di Delphi non ci ho capito niente e non avevo
il tempo per mettermeli a studiare perchč dovevo consegnare il programma con
urgenza ho fatto una cosa un po' diversa.
Praticamente mi sono detto che un file .XML altri non č che un banalissimo
file
di testo, quindi, me lo sono importato in una StringList e poi mi sono letto
il
contenuto della string list per passarlo sul database.
Ho fatto quindi una cosa del genere :
OrdiniTxt := TStringList.Create;
OrdiniTxt.LoadFromFile( 'c:\ordini.xml' );
for j := 0 to OrdiniTxt.Count - 1 do
begin
  if ....
  if ....
  ecc ...
end;
E' sicuramente una cosa molto artigianale, ma ti posso garantire che
funziona alla perfezione.
Spero di esserti stato utile.
Donato Di Tullio

 Grazie a tutti
-- 
Ciao, Anto', [37, 143, AQ] 
MB C SC 220 CDI Magma Rot
"Di sempre cio' che senti e fai cio' che pensi."
    G.G. Màrquez

In data Wed, 14 Jul 2004 15:10:35 +0200, Antò LuZombi ha scritto:
[cut]
;o)
oppure cosi:
begin
  Edit1.Text := XMLDocument1.DocumentElement.ChildNodes['computer'].Text;
  Edit2.Text := XMLDocument1.DocumentElement.ChildNodes['user'].Text;
  Edit3.Text :=
XLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['nome'].Text;
  Edit4.Text :=
XMLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['indirizzo'].ChildNodes['via'].Text;
  Edit5.Text :=
XMLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['indirizzo'].ChildNodes['citta'].Text;
  Edit6.Text :=
XMLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['email'].Text;
  Edit7.Text :=
XMLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['tel'].Text;
  Edit8.Text := 	
XMLDocument1.DocumentElement.ChildNodes['contatto'].ChildNodes['fax'].Text;
end;


Grazie mille ci sono riuscito!!!