vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: XML Put 
Autor: WaldiMaywood
Datum: 10.12.03 23:32

hi,

wie versprochen die xml sache. am besten du erstellst ein neuse test-projekt.
klickst im projekt.explorer auf element hinzufügen, dann die konfigurationsdatei auswählen. in diese kopierst du folgenden code:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<AppSettings>
<add key="OleDbConn" value="TEMP" />
<add key="test" value="test" />
</AppSettings>
</configuration>

weiter gehts, jetzt klickst du open im projekt.explorer auf das mittlere icon (alle dateien anzeigen). jetzt müsstest du auch den bin ordner deines proj. sehen. in diesen schiebst du die konfigurationsdatei (app.config).

als nächstes erstellst du ein neue klasse und fügst diesen code ein:

Imports System.Xml
Imports System.IO
Public Class ConfigManager
    Private _configFile As String
    Private _xmlDoc As XmlDocument
    Private _appNode As XmlNode
    Sub New(ByVal cfgfile As String)
        If Not File.Exists(cfgfile) Then
            Throw New FileNotFoundException
        End If
        _configFile = cfgfile
    End Sub
    Public Function Open() As Boolean
        _xmlDoc = New XmlDocument
        _xmlDoc.Load(_configFile)
        _appNode = _xmlDoc.SelectSingleNode("configuration/AppSettings")
        If _appNode Is Nothing Then
            Return False
        End If
        Return True
    End Function
    Public Sub Save()
        _xmlDoc.Save(_configFile)
    End Sub
    Public Function ListKeys() As String()
        Dim strcoll As New System.Collections.Specialized.StringCollection
        Dim chnode As XmlNode
        Dim buff As String()
        If Not _appNode.HasChildNodes Then
            Return Nothing
        End If
        For Each chnode In _appNode.ChildNodes
            If chnode.Name = "add" Then
                strcoll.Add(chnode.Attributes("key").Value)
            End If
        Next
        ReDim buff(strcoll.Count - 1)
        strcoll.CopyTo(buff, 0)
        Return buff
    End Function
    Public Function KeyExists(ByVal keyname As String) As Boolean
        Dim chnode As XmlNode
        If Not _appNode.HasChildNodes Then
            Return False
        End If
        For Each chnode In _appNode.ChildNodes
            If chnode.Name = "add" Then
                If chnode.Attributes("key").Value = keyname Then
                    Return True
                End If
            End If
        Next
        Return False
    End Function
    Public Function GetValue(ByVal keyname As String) As String
        Dim chnode As XmlNode
        If Not _appNode.HasChildNodes Then
            Return Nothing
        End If
        For Each chnode In _appNode.ChildNodes
            If chnode.Name = "add" Then
                If chnode.Attributes("key").Value = keyname Then
                    Return chnode.Attributes("value").Value
                End If
            End If
        Next
        Return Nothing
    End Function
    Public Sub SetValue(ByVal keyname As String, ByVal val As String)
        Dim chnode As XmlNode
        Dim chele As XmlElement
        Dim chkey As XmlAttribute
        Dim chval As XmlAttribute
        If KeyExists(keyname) Then
            For Each chnode In _appNode.ChildNodes
                If chnode.Name = "add" Then
                    If chnode.Attributes("key").Value = keyname Then
                        chnode.Attributes("value").Value = val
                    End If
                End If
            Next
        Else
            chele = _xmlDoc.CreateElement("add")
            chele.SetAttribute("key", keyname)
            chele.SetAttribute("value", val)
            _appNode.AppendChild(chele)
        End If
    End Sub
End Class
und jetzt kannst du einfach in einer form oder sub main folgenden code verwenden, um einstellungen zu speichern o. um welche abzurufen.
  Dim c As New ConfigManager("app.config") ' den pfad der datei nicht vergessen
        If Not c.Open() Then ' wichtig!!  
            MsgBox("XMLNode 'AppSettings' nicht gefunden! Die App.Config" & _
              "überprüfen!")
            Exit Sub
        End If
        c.SetValue("test", "test") ' schreiben
        MsgBox(c.GetValue("test")) ' abragen
viel glück

steve
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XML Put1.582crivi09.12.03 11:15
Re: XML Put1.149WaldiMaywood09.12.03 12:13
Re: XML Put885crivi09.12.03 13:44
Re: XML Put895crivi10.12.03 11:39
Re: XML Put906WaldiMaywood10.12.03 11:47
Re: XML Put917crivi10.12.03 12:00
Re: XML Put875WaldiMaywood10.12.03 12:04
Re: XML Put855crivi10.12.03 12:11
Re: XML Put905crivi10.12.03 12:14
Re: XML Put864WaldiMaywood10.12.03 12:18
Re: XML Put841crivi10.12.03 12:19
Re: XML Put860crivi10.12.03 15:25
Re: XML Put871WaldiMaywood10.12.03 15:42
Re: XML Put1.536WaldiMaywood10.12.03 23:32
Re: XML Put950crivi15.12.03 08:40
Re: XML Put878WaldiMaywood15.12.03 09:08
Re: XML Put797crivi15.12.03 09:14
Re: XML Put1.011crivi15.12.03 09:17
Re: XML Put887WaldiMaywood15.12.03 09:28
Re: XML Put846crivi15.12.03 11:15
Re: XML Put777crivi15.12.03 13:32
Re: XML Put789crivi15.12.03 16:17
Re: XML Put911WaldiMaywood15.12.03 18:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel