Fle XML

venerdì 07 gennaio 2011 - 20.40

Devil_May_Hacking Profilo | Newbie

Salve a tutti stavo cercando di generare un file XML da un progetto in VB, dato che con l'xml sono alle prime armi come posso fare per scrivere nel file le informazioni che voglio io? Faccio un esempio se voglio generare dentro l'xml tutti i valori di determinate label come devo fare? Grazie dell'aiuto :)

boc_babi Profilo | Junior Member

Ciao,
il codice seguente è preso da un mio progetto quindi devi adattarlo alle tue esigenze.
Comunque così creo il file xml nella cartella "MyPath" e il nome del file sarà "NomeXML"
La SUB "AggiornaXML()" la richiamo all'avvio del programma per verificare che il file esista o no.
Se non esiste lo creo e attribuisco alle mie variabili i vari valori, se esiste mi limito invece ad attribuire alle variabili i vari valori.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Invece qui sotto è mostrato come scrivere i valori nel file xml

'Salvo il n° progressivo del nome della directory del pezzo nel file .XML 'in modo da poterlo incrementare per il test del prossimo pezzo dsXML.Tables("settings").Rows(0).Item("nPezzo") = nUltimoPezzo + 1 dsXML.WriteXml(MyPath & NomeXML)

Spero di esserti stato utile, BOC

Devil_May_Hacking Profilo | Newbie

Grazie innanzitutto della risposta, volevo darvi alcune delucidazioni su quelle che avevo in mente di fare.

Ho un form con una serie di label in cui vengono messi dei valori, io fatto cio' volevo creare un pulsante dove al click mi creava un file xml e fin li nessun problema. Dopodichè volevo popolare il file xml con i valori che avevano assunto queste label. Spero di essere stato piu' chiaro , grazie ancora delle risposte.

boc_babi Profilo | Junior Member

Se vuoi popolare il file xml con i valori delle tue label devi semplicemente fare:

dsXML.Tables("settings").Rows(0).Item("prima_label") = label1.text dsXML.Tables("settings").Rows(0).Item("seconda_label") = label2.text dsXML.Tables("settings").Rows(0).Item("terza_label") = label3.text dsXML.WriteXml(MyPath & NomeXML)

Naturalmente i campi "prima_label" "seconda_label" e "terza_label" sono i nomi che hai dato ai vari campi al momento della creazione del file.
Nell'esempio precedente erano

.Tables("settings").Columns.Add("NomeFileCSV") .Tables("settings").Columns.Add("nPezzo") .Tables("settings").Columns.Add("Temperatura")

ora diventeranno

.Tables("settings").Columns.Add("prima_label") .Tables("settings").Columns.Add("seconda_label") .Tables("settings").Columns.Add("terza_label")

Ciao, BOC.

Devil_May_Hacking Profilo | Newbie

Grazie gentilissimo! :)

Devil_May_Hacking Profilo | Newbie

Volevo sapere dopo la creazione del file, devo aggiungere qualcosa al mio file XML? Perchè mi dice quando compilo elemento radice mancante, ho provato a dare un occhio su vari forum ma non ho capito, l'elemento radice sarebbe il nome del mio dataset o è un'altra cosa? Come faccio ad abbinare il dataset al mio file XML?

Grazie

questo e la routine che ho creato per generare il file XML:

Dim dati As New DataSet
Dim ReportXML As System.IO.FileStream

If System.IO.File.Exists("C:\Users\Public\ReportInfoSystem.xml") = True Or False Then
ReportXML = System.IO.File.Create("C:\Users\Public\ReportInfoSystem.xml")
ReportXML.Close()

dati.DataSetName = "InformationTool"
dati.ReadXml(ReportXML)

End If

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5