vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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 Klasse  
Autor: crivi
Datum: 09.02.04 11:26

probier das mal:

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
Abfragen:
Dim path As String = c.GetValue("key").ToString()
Schreiben:
c.SetValue("sql_catalog", TextBox6.Text) ' schreiben
        c.Save()
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
xml Klasse 711ThinkingBomb09.02.04 10:39
Re: xml Klasse 524crivi09.02.04 11:26
429ThinkingBomb09.02.04 14:31
Frage 501ThinkingBomb09.02.04 16:24
Re: Frage 456WaldiMaywood09.02.04 16:38
430ThinkingBomb09.02.04 17:59
Frage 410ThinkingBomb10.02.04 08:15
Re: Frage 476WaldiMaywood10.02.04 09:33

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