Avatar billede Slettet bruger
02. februar 2006 - 21:15 Der er 4 kommentarer og
1 løsning

XML Parse

Hej eksperter.

Jeg har en xml fil:
<?xml version="1.0" encoding="utf-8" ?>
<downloads>
  <item>
    <url></url>
    <regex></regex>
    <folder></folder>
  </item>
  <item>
    <url></url>
    <regex></regex>
    <folder></folder>
  </item>
  <item>
    <url></url>
    <regex></regex>
    <folder></folder>
  </item>
</downloads>


Der er intet fast tal for, hvor mange <item> der kan være.. Hvert iten skal bare hentes ud en efter en...
sådan at jeg kan få det første item og dens url & regex & folder.. det skal ligges ind i et listview..
Jeg har søgt på nettet og kigget i manualen, men ikke fundet noget, for den "Henter" den tre childnodes ud for hver gang..?

Rutine:
Hvis node = item
Hent de næste 3 noder
Start rutine forfra.
Avatar billede arne_v Ekspert
02. februar 2006 - 21:38 #1
læs ind i et XmlDocument
hent alle item's med en GetElementsByTagName
en for løkke som gemmer i et ArrayList
assign den ArrayList til DataSource
Avatar billede Slettet bruger
07. februar 2006 - 14:41 #2
Iorden :)

Smider du et svar?
Avatar billede arne_v Ekspert
07. februar 2006 - 15:20 #3
gerne

skriv hvis du skal bruge demo kode
Avatar billede Slettet bruger
07. februar 2006 - 18:02 #4
Hvis du har et alternativ til den i manualen, så post den bare :P
Avatar billede arne_v Ekspert
07. februar 2006 - 21:00 #5
jeg koder sikkert lidt anderledes

using System;
using System.Collections;
using System.Xml;

namespace E
{
    public class Item
    {
        private string url;
        private string regex;
        private string folder;
        public Item() : this("", "", "")
        {
        }
        public Item(string url, string regex, string folder)
        {
            this.url = url;
            this.regex = regex;
            this.folder = folder;
        }
        public string Url
        {
            get
            {
                return url;
            }
            set
            {
                url = value;
            }
        }
        public string Regex
        {
            get
            {
                return regex;
            }
            set
            {
                regex = value;
            }
        }
        public string Folder
        {
            get
            {
                return folder;
            }
            set
            {
                folder = value;
            }
        }
        public override string ToString()
        {
            return ("[" + url + "," + regex + "," + folder + "]");
        }
    }
    class MainClass
    {
        public static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"C:\test.xml");
            XmlNodeList xnl = doc.GetElementsByTagName("item");
            ArrayList lst = new ArrayList();
            foreach(XmlNode xn in xnl)
            {
                lst.Add(new Item(xn.SelectSingleNode("url").FirstChild.Value,
                                xn.SelectSingleNode("regex").FirstChild.Value,
                                xn.SelectSingleNode("folder").FirstChild.Value));
            }
            foreach(Item i in lst)
            {
                Console.WriteLine(i);
            }
        }
    }
}
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