XML unter VB.Net

ACEofSPADES

Grünschnabel
Hallo Leute,

ich musste für ein Nebenfach ein VB.Net Programm schreiben, dass CDs/DVDs ausliest und die Inhalte in XML-dateien schreibt.
Jetzt möchte ich eine SuFu in das Programm einbauen, dass dann nach bestimmten Dateien oder Ordner sucht und mir sagt, auf welchem Datenträger ich das gebrannt habe. Ich habe schon mal in der Linkliste die in diesem Forum angeboten wurde nach nativen DBs gesucht, aber die scheinen alle nur unter Java zu laufen. Daher muss ich die Suche wohl zu Fuß machen, doch bin ich noch ein Neuling in XML.
Meine Frage ist nun, wie ich am einfachsten XML-dateien durchsuchen kann. Mir ist halt nicht ganz klar, ob ich XPath oder XQuery oder Xwasweissich nutzen sollte, um mein Problem zu lösen und rufe hier mal nach HIlfe ;)

Die XML-Dateien sind nicht in XSLT und ein Knoten kann entweder ein Ordner oder eine Datei darstellen.
 
Hallo,

also ich würde mit dem Sax-Parser einfach so lange über die Datei "laufen" bis ich das Element gefunden habe was ich möchte.

Ich kann dir aber leider nicht sagen, wie der Sax-Parser bei VB.Net funktioniert.

MFG

Sascha
 
Im .net Framework gibts die Datasets. Das ist im Prinzip eine XML-Datenbank. Somit kannst du im Programm deine Daten wie in einer Datenbank behandeln. Und über den XMLSerializer kannst du dann das Dataset als XML-Datei speichern oder laden.
 
Wenn du die DataSets nicht benutzen möchtest, kannst du auch eine XML-Datei einfach mit LINQ durchsuchen:

Code:
Module Module1
    Dim Fragenkatalog As XElement = _
    <Fragenkatalog>
        <Frage Frage="Ist heute Montag?" AntwortA="Ja." AntwortB="Nein." Korrekt="B"/>
        <Frage Frage="Ist heute Dienstag?" AntwortA="Ja." AntwortB="Nein." Korrekt="A"/>
        <Frage Frage="Ist heute Mittwoch?" AntwortA="Ja." AntwortB="Nein." Korrekt="B"/>
        <Frage Frage="Ist heute Donnerstag?" AntwortA="Ja." AntwortB="Nein." Korrekt="B"/>
    </Fragenkatalog>

    Sub Main()
        Dim Abfrage = From Frage In Fragenkatalog.<Frage> _
                      Where Frage.@Frage Like "*Montag*" _
                      Select Frage

        For Each Frage In Abfrage
            Console.WriteLine(Frage.@Frage)
        Next

        Console.ReadKey()
    End Sub
End Module

Fast wie SQL-Queries.
 

Neue Beiträge

Zurück