Avatar billede jonas82 Nybegynder
26. oktober 2005 - 14:38 Der er 10 kommentarer og
2 løsninger

Læse XML

Hej,

Jeg vil gerne have lavet mig noget kode, som kan parse valutakurser fra denne xml fil: http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml

Jeg har en klasse Valuta, med en konstruktor Valuta(string ccode, string desc, double rate)

Men hvordan får jeg hevet oplysningerne ud fra XML dokumentet, og placeret dem i en ArrayList med Valuta objekter.

Jeg har læst arne_v´s artikel om emnet, men kan ikke få det til at fungere.
Avatar billede the_party_dog Nybegynder
26. oktober 2005 - 14:39 #1
Avatar billede arne_v Ekspert
26. oktober 2005 - 14:42 #2
sidste vi havde det spørgsmål var det med Datagrid

:-)

using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace E
{
    public class MainForm : Form
    {
        private DataGrid dataGrid1;
        public MainForm()
        {
            InitializeComponent();
        }
        [STAThread]
        public static void Main(string[] args)
        {
            Application.Run(new MainForm());
        }
        private void InitializeComponent() {
            dataGrid1 = new DataGrid();
            ((System.ComponentModel.ISupportInitialize)(dataGrid1)).BeginInit();
            SuspendLayout();
            DataSet ds = new DataSet();
            ds.ReadXml("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml");
            dataGrid1.DataSource = ds.Tables["currency"];
            dataGrid1.HeaderForeColor = SystemColors.ControlText;
            dataGrid1.Location = new Point(50, 50);
            dataGrid1.Size = new Size(400, 600);
            ClientSize = new Size(500, 700);
            Controls.Add(dataGrid1);
            Text = "Demo";
            ((System.ComponentModel.ISupportInitialize)(dataGrid1)).EndInit();
            ResumeLayout(false);
        }
    }
}

men lav et XmlDocument, load den URL ind (kan gøres direkte !) og parse med
GetElementsByTagName som beskrevet i artiklen, opret instanser af en Valuta
klasse og gem dem i en ArrayList

prøv og lav noget kode og post her når du kører fast
Avatar billede jonas82 Nybegynder
26. oktober 2005 - 14:50 #3
Dette er hvad jeg har ind til videre. Det kan køre, men det udskriver ikke X antal "test" som forventet.

public string getKurs()
        {
            doc.Load("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml");
            XmlNodeList kurser = doc.GetElementsByTagName("currency code");
            foreach(XmlNode kurs in kurser)
            {   
                System.Console.WriteLine("test");
            }
            return "test";
        }
Avatar billede medions Nybegynder
26. oktober 2005 - 14:53 #4
Kan du ikke bruge den her artikel?

http://www.eksperten.dk/artikler/498

//>Rune
Avatar billede arne_v Ekspert
26. oktober 2005 - 14:55 #5
doc.GetElementsByTagName("currency")
Avatar billede arne_v Ekspert
26. oktober 2005 - 14:56 #6
code er en attribut på currency tag
Avatar billede jonas82 Nybegynder
26. oktober 2005 - 14:56 #7
Det er den jeg prøver at gå ud fra. (Nævnt i første post). Ellers tak :)
Avatar billede the_party_dog Nybegynder
26. oktober 2005 - 14:58 #8
XmlDocument doc = new XmlDocument();

            doc.Load("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml");

            XmlNodeList kurser = doc.SelectNodes("//currency");

            foreach( XmlNode N in kurser)
            {
                Console.WriteLine("Hej");
            }
Avatar billede the_party_dog Nybegynder
26. oktober 2005 - 14:59 #9
XmlDocument doc = new XmlDocument();

            doc.Load("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml");

            XmlNodeList kurser = doc.SelectNodes("//currency");

            foreach( XmlNode N in kurser)
            {
                Console.WriteLine(N.Attributes[0].Value +" - "+ N.Attributes[1].Value +" - "+ N.Attributes[2].Value);
            }

            Console.ReadLine();
Avatar billede jonas82 Nybegynder
26. oktober 2005 - 15:03 #10
Fik det til at fungere med kurs.Attributes. Takker.

Arne og party_dog. Det er vist rimeligt hvis I deler. Tak for hjælpen.
Avatar billede the_party_dog Nybegynder
26. oktober 2005 - 15:05 #11
svar
Avatar billede arne_v Ekspert
26. oktober 2005 - 16:14 #12
.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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