Mehrere XML Dateien auslesen und sortieren

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Cybkill.

    Mehrere XML Dateien auslesen und sortieren

    Guten Abend,

    ich wollte mein Programm ein bisschen verbessern und nun habe ich mir gedacht, ich lese eine XML datei aus und lasse den Text in ein Label erscheinen.

    Nun hab ich ein Problem, ich möchte dies für mehrere Radios machen & dies aufteilen, folgenden Code habe ich:

    VB.NET-Quellcode

    1. 'Die Deklaration der Informationen
    2. Dim radioname, radiomoderator, radioshow, radiostyle, showstarttime, _
    3. showendtime, moderatorlink, titleartist, title, radiorelease, _
    4. radiolistener, radiourl, modpic As String
    5. 'Die XML downloaden
    6. Dim a As New WebClient
    7. a.DownloadFile(New Uri("http://tray.technobase.fm/radio.xml"), "radio.xml")
    8. a.Dispose()
    9. 'Das XML Document Laden
    10. Dim xml As XDocument = XDocument.Load("radio.xml")
    11. 'Den Namen des Radiosenders auslesen
    12. radioname = xml.<weareone>.<radio>(0).<name>.Value
    13. 'Den Moderator auslesen
    14. radiomoderator = xml.<weareone>.<radio>(0).<moderator>.Value
    15. 'Den Shownamen auslesen
    16. radioshow = xml.<weareone>.<radio>(0).<show>.Value
    17. 'Den Style auslesen
    18. radiostyle = xml.<weareone>.<radio>(0).<style>.Value
    19. 'Die Startzeit auslesen
    20. showstarttime = xml.<weareone>.<radio>(0).<starttime>.Value
    21. 'Die Endzet auslesen
    22. showendtime = xml.<weareone>.<radio>(0).<endtime>.Value
    23. 'Den Link zum Moderator auslesen
    24. moderatorlink = xml.<weareone>.<radio>(0).<link>.Value
    25. 'Den Artist auslesen
    26. titleartist = xml.<weareone>.<radio>(0).<artist>.Value
    27. 'Den Song auslesen
    28. title = xml.<weareone>.<radio>(0).<song>.Value
    29. 'Das Release auslesen
    30. radiorelease = xml.<weareone>.<radio>(0).<release>.Value
    31. 'Die Listener auslesen
    32. radiolistener = xml.<weareone>.<radio>(0).<listener>.Value
    33. 'Die Url auslesen
    34. radiourl = xml.<weareone>.<radio>(0).<url>.Value
    35. 'Das Moderator Bild Downloaden und anzeigen
    36. Dim b As New WebClient()
    37. b.DownloadFile(New Uri(xml.<weareone>.<radio>(0).<picture>.Value), My.Computer.FileSystem.SpecialDirectories.Temp & "\tmod.jpg")
    38. b.Dispose()
    39. modpic = My.Computer.FileSystem.SpecialDirectories.Temp & "\tmod.jpg"
    40. 'Informationen in ein Array packen, muss man eigentlich nicht aber ich finde es so besser
    41. Dim technobase(12) As String
    42. technobase(0) = radioname
    43. technobase(1) = radiomoderator
    44. technobase(2) = radioshow
    45. technobase(3) = radiostyle
    46. technobase(4) = showstarttime
    47. technobase(5) = showendtime
    48. technobase(6) = moderatorlink
    49. technobase(7) = titleartist
    50. technobase(8) = title
    51. technobase(9) = radiorelease
    52. technobase(10) = radiolistener
    53. technobase(11) = radiourl
    54. technobase(12) = modpic
    55. 'Informationen auslesen
    56. 'z.b. Label1.Text = "Jetzt auf TechnoBase.FM: " & technobase(7) & " - " & technobase(8)
    57. 'Dabei ist technobase(7) der Titleartist und technobase(8) der Title
    58. Label9.Text = "Jetzt auf TechnoBase.FM: " & titleartist & " - " & title
    59. 'Wenn man den Array weglassen würde so müsste man das so schreiben
    60. 'Label1.Text = "Jetzt auf TechnoBase.FM: " & titleartist & " - " & title


    Wie mache ich dies am besten?
    Radio-Player Modul >>1.0<<:
    Fertigstellung: 100%

    Download gibt es per PN :)
    Unter "Titel von Radios aufteilen" kann ich mir nix rechtes vorstellen.

    Aber ich hab mir die Xml mal angeguckt: tray.technobase.fm/radio.xml
    Das entspräche einer typisierten DataTable, bzw. einer Liste einer Datenklasse, mit geeigneten Properties.
    Sowas könnte man in einem DatagridView anzeigen als Tabelle.

    Wie willste machen? typDataset oder Liste eigener Datenobjekte?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Ich bin da selbst schon am überlegen und eher am verzweifeln, ich möchte es ja so machen das ich die XML-Dateien von Technobase & von anderen Radios auslese, diese dann durch eine Combobox wo die Namen z.b. Technobase, RSH, NJOY ausgewählt wird und von den jeweiligen Radio dann die XML datei ausgelesen & in einer Label angezeigt wird.

    wie ich dies bei einen Radio mache, weiß ich ja aber nur das aufteilen, das es nur dann anzeigt wenn z.B. Technobase ausgewählt ist, das bekomm ich nicht hin so wie mehrere XML-Dateien auslesen, dies weiß ich gerade nicht.
    Radio-Player Modul >>1.0<<:
    Fertigstellung: 100%

    Download gibt es per PN :)
    Ja es dreht sich um die die im Internet sind, z.b. von Technobase fm, Hardbasefm usw ich möchte es so, das ich dann für andere radios (über 30 verschiedene) die XML gedownloadet wird, die notwendigen Daten wie Artist & Titel des Liedes z.B. eingelesen werden und dann in ein Label angezeigt werden nur das diese dann erst abgezeigt werden, wenn ich z.b. technobase auswähle & abspiele, dort dann der für Technobase FM erscheint oder für Hardbasefm halt der für die Zeile von Hardbase erscheint.
    Radio-Player Modul >>1.0<<:
    Fertigstellung: 100%

    Download gibt es per PN :)
    Ich kann die angehängte Datei nicht öffnen, habe VB 2010, hatte es sonst mir total umständlich gemacht, den Code der auch schon im Anfangspost geschrieben ist, so umändern und wiederholen bis alle Radios ausgelesen sind so wie so viele Labels das alle radios angezeigt werden wenn diese abgespielt werden
    Radio-Player Modul >>1.0<<:
    Fertigstellung: 100%

    Download gibt es per PN :)
    Eigentlich solltest du auch selbst drauf kommen.

    Du nimmst dir hier immer nur das erste Radio: xml.<weareone>.<radio>(0).

    Wie wärs also mit einer Schleife über alle Radios in der XML? Natürlich bräuchtest du dann noch eine Datenstruktur um die Daten zu speichern.