Avatar billede StofaDK Nybegynder
18. april 2009 - 23:25 Der er 17 kommentarer

Hjælp til min XML kode

Hej,

jeg er igang med at lave et projekt i VB hvor jeg skal hente data ind fra en XML fil, har lavet så man den henter data ind med denne kode

Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO

Public Class Form1

    Private Sub TabStrip_Radio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabStrip_Radio.Click
        Dim myItem As New ListViewItem()
        ' Set up the listview control
        Stations_View.Items.Clear()

        ' The xml node reader.
        Dim reader As XmlNodeReader = Nothing

        Try
            Dim s As String = ""
            ' The xml document to read from.
            Dim doc As New XmlDocument()

            ' Load the xml document.
            doc.Load("Station\Radio.xml")
            ' Set the reader to open the xml document.
            reader = New XmlNodeReader(doc)

            ' Read all the data in the XML document and display it.
            While reader.Read()
                Select Case reader.NodeType
                    Case XmlNodeType.Element
                        ' Keep track of the element that the user is on.
                        s = reader.Name
                    Case XmlNodeType.Text
                        If s.Equals("Name") Then
                            ' With the first name add a line to the listview control.
                            myItem = Stations_View.Items.Add(reader.Value)
                            ' For all other data itmes in the list just add
                            ' as sub itmes since they are in the correct order.
                        Else
                            myItem.SubItems.Add(reader.Value)
                        End If
                End Select
            End While
        Finally
            ' Do the necessary clean up.
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class


Men jeg vil gerne lave så når man eks trykker på The Voice i Listview menuen så starter den, den URL der ligger i XML filen. Men aner ikke hvordan jeg skal gøre dette. Min XML fil ser sådan her ud

<?xml version="1.0"?>
<!--GaX-->

<Media>
 
    <Radio>
    <Name>VOICE DK - TEST</Name>
    <URL>TheVoice.dk</URL>
    </Radio>


    <tv>
    <Name>VOICEDK - TEST2</Name>
    <URL>TheVoice.dk</URL>
    </tv>

</Media>

Håber nogen venlige sjæle kan hjælpe mig
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:28 #1
Nu kender jeg ikke VB, men må være noget i retningen af
If s.Equals("URL") Then
  System.Diagnostics.Process.Start(s.InnerText)
End If
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:30 #2
Kræver selvfølgelig at der enten i XML eller i den start kommando står http://
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:33 #3
Hvad skal der står ved "S"?

Får denne fejl nemlig

Error    1    Name 's' is not declared.    D:\Jesper\GaX Produktion\GaX-Multimedia\GaX-Multimedia\Form1.vb    52    20    GaX-Multimedia
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:38 #4
Hmm, prøv System.Diagnostics.Process.Start(reader.InnerText)
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:45 #5
Der kommer disse fejl nu

Error    1    Name 's' is not declared.    D:\Jesper\GaX Produktion\GaX-Multimedia\GaX-Multimedia\Form1.vb    53    20    GaX-Multimedia
Error    2    'InnerText' is not a member of 'System.Xml.XmlNodeReader'.    D:\Jesper\GaX Produktion\GaX-Multimedia\GaX-Multimedia\Form1.vb    54    54    GaX-Multimedia
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:46 #6
Men jeg skal vel osse kalde media playern frem med en 

Me.AxWindowsMediaPlayer1.URL =

kode eller noget?
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:47 #7
Erstat i stedet denne linje myItem.SubItems.Add(reader.Value)
med System.Diagnostics.Process.Start(reader.Value)

Den med s is not declared kan jeg ikke se årsagen til. Igen jeg kender ikke meget til selve sproget VB
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:48 #8
Jeg troede du ville åbne link i browser.
Avatar billede amews_aj Nybegynder
19. april 2009 - 00:48 #9
Og du behøver ikke erstatte, du kan bare tilføje lige bagefter den linje.
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:49 #10
Nårh sorry jeg ikke havede formuleret det korrekt. Men er i mediaplayer jeg gerne vil åbne den. Men er vel næsten det samme bare den skal åbne i media player. Uploader et billede fra et andet program så kan du se hvordan jeg vil ha det til at funke
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:51 #11
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:52 #12
Hvordan mener du?
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:52 #13
Har lige tilføjet den kode du skrev men samme fejl
Avatar billede StofaDK Nybegynder
19. april 2009 - 00:53 #14
eller ikke helt

Error    1    Name 's' is not declared.    D:\Jesper\GaX Produktion\GaX-Multimedia\GaX-Multimedia\Form1.vb    59    12    GaX-Multimedia
Error    2    Name 'reader' is not declared.    D:\Jesper\GaX Produktion\GaX-Multimedia\GaX-Multimedia\Form1.vb    60    46    GaX-Multimedia
Avatar billede amews_aj Nybegynder
19. april 2009 - 01:00 #15
Beklager, lige umiddelbart kan jeg ikke se hvad der er galt. Måske fordi jeg er mere vant til C# :)
Håber nogle andre kommer forbi inden længe.
Kigger nok forbi i morgen ellers.
Avatar billede StofaDK Nybegynder
19. april 2009 - 01:11 #16
Okay amews, hvordan ville det se ud i C# vis det var? :D

Og bare for at være sikker hvor i koden skal jeg sætte din kode ind?

Men synes os der mangler lidt i den kode eks det med AxWindowsMediaPlayer1.

Eks vis jeg vil starte mediaplayer i en normal kode hedder den bare

Me.AxWindowsMediaPlayer1.URL = "http://dix.media.webpartner.dk/voice128"
Avatar billede amews_aj Nybegynder
19. april 2009 - 11:15 #17
Har ikke brugt mediaplayer komponenten før, men der er nok en play kommando. Søg lidt på google evt.

Jeg bruger normalt en anden metode til at læse XML. I C#:

class Program
    {
        static XmlDocument doc;
        static void Main(string[] args)
        {
           
            doc.Load("Sti.xml");
            XmlElement root = doc.DocumentElement;
            foreach ( XmlNode node in root.ChildNodes ) {
                foreach (XmlNode subnode in node.ChildNodes)
                {
                    if (subnode.Name == "Name")
                    {
                        string name = subnode.InnerText;
                    }
                    else
                    {
                        string url = subnode.InnerText;
                        // Me.AxWindowsMediaPlayer1.URL = "http://" + url;
                    }
                }
            }
        }
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester