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 - Ein- und Umsteiger
Re: XML Rekursive auslesen 
Autor: Helmuth
Datum: 21.11.10 11:21

Hallo FohnBit,

Hier mal ein Beispiel wie so eine Rekursive Funktion aussehen kann.
Musst das ganze halt deinen Bedürfnissen noch anpassen aber so sollte es klappen!

    Public Sub OpenXMLDocumentAndFillStructure()
 
        Dim doc As XmlDocument
 
        doc = New XmlDocument
        doc.Load(flName)
 
        RekFindObjAndStructure(doc.ChildNodes)
 
    End Sub
 
    Public Sub RekFindObjAndStructure(ByVal nodes As XmlNodeList)
 
        For Each nd As XmlNode In nodes
            If nd.Name = "obj" OrElse nd.Name = "structure" Then
                For Each attr As XmlAttribute In nd.Attributes
                    If attr.Name = "uid" Then
                        'Check if uid is like given uid
                        'Add to own structure class
                    End If
                Next
 
                If nd.ChildNodes.Count > 0 Then
                    RekFindObjAndStructure(nd.ChildNodes)
                End If
            Else
                If nd.ChildNodes.Count > 0 Then
                    RekFindObjAndStructure(nd.ChildNodes)
                End If
            End If
        Next
 
    End Sub
Kurze Erklärung:
Die Methode "OpenXMLDocumentAndFillStructure" öffnet, in meinem Fall, eine Lokale XML Datei in ein System.XML.XMLDocument. Das XMLDocument hat eine Auflistung aller ChildNodes im Root. Diese kann dann komplett mir der Methode "RekFindObjAndStructure" Alle Nodes durchlaufen und jedes mal wenn ein Node mit Namen "obj" oder "structure" entdeckt wird kann dieser zu deiner Struktur hinzugefügt werden und startet dann wieder einen eigenen aufruf der Methode "RekFindObjAndStructure". Die Methode "RekFindObjAndStructure" wird ebenfalls wieder aufgerufen wenn der Name nicht entspricht aber sich in den Childnodes wieder Nodes befinden. ;)

Klingt kompliziert aber rekursive Suchfunktionen sind eigentlich einfach. Das ganze kann natürlich auch auf einen XPath gelegt werden. Damit nicht unnötige Element durchgelaufen werden müssen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XML Rekursive auslesen4.226FohnBit18.11.10 18:08
Re: XML Rekursive auslesen4.844Helmuth21.11.10 11:21

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