Avatar billede omen Nybegynder
31. juli 2003 - 12:15 Der er 4 kommentarer og
1 løsning

Bruge xml som data storage

Jeg har set at mange .NET apps bruger XML formattet til at indeholde forskellig data, såsom indstillinger osv. Så det vil jeg gerne lære med det samme, så lad os starte med noget simpelt.

Jeg har en listbox. Denne listbox skal loade Items, fra en XML fil. Så skal jeg have en 'Add New Item' knap, som skal tiløje en ny ListItem, og som så også skal gemmes i XML filen. Og når næste gang programmet åbner, loades den nye item fra XML filen.

XML indhold kunne f.eks være:
<?xml version="1.0" encoding="utf-8" ?>
<Item>="Ny Item"</Item>
<Item>="Endnu en Item"</Item>

Nogen der har lyst til at lære/forklare mig det?
Avatar billede kedde65 Praktikant
31. juli 2003 - 14:08 #1
Hej

Jeg vil anbefale dig at bruge dataset, datarow, og datacolumn til at oprette en "ofline" tabel. På den måde kan du så gemme direkte i XML og loade det frem igen, når der bliver brug for det.

Jeg har lavet en eksempel, hvor der er en listbox(lb), to knapper (btnSaveXML) og (btnLoadXML). Koden herunder bruger så dataset, datatable, og datacolumn til at hente værdierne i listboxen og gemme dem som xml og ligeledes henter dem frem igen.

    Dim dc As New DataColumn, dt As New DataTable, dr As DataRow

    Private Sub btnSaveXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveXML.Click
        Dim item As String
        dc.ColumnName = "Name"
        dc.DataType = System.Type.GetType("System.String")
        dt.Columns.Add(dc)
        For Each item In lb.Items
            dr = dt.NewRow
            dr("Name") = item
            dt.Rows.Add(dr)
        Next
        Dim ds As New DataSet
        ds.Tables.Add(dt.Copy)
        ds.WriteXml("C:\test.xml")
    End Sub

    Private Sub btnLoadXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadXML.Click
        Dim ds As New DataSet
        ds.ReadXml("C:\test.xml")
        dt = ds.Tables("table1")
        lb.DataSource = dt
        lb.DisplayMember = "Name"
    End Sub

Spørg endelig, hvis du er i tvivl.

VH CK
Avatar billede omen Nybegynder
07. august 2003 - 11:31 #2
kedde65: Sorry den lange ventetid. Anede slet ikke nogen havde svaret her, må ha' gået glip af emailen. Jeg takker, og kigger på det senere!
Avatar billede omen Nybegynder
13. august 2003 - 01:01 #3
Hvis du stadig ser det her, kunne jeg godt bruge lidt hjælp *L*
Avatar billede kedde65 Praktikant
13. august 2003 - 07:23 #4
Det gør jeg skam :-) Ellers send mig en mail på ck@targetgruppen.dk så er du sikker på jeg ser det...

VH CK
Avatar billede jonbdk Nybegynder
13. august 2003 - 16:06 #5
Hej Kedde65
Du virker som en haj til xml :)
Kan du hjælpe mig med det her: http://www.eksperten.dk/spm/386851

Tak til Omen for henvisning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester