Avatar billede erve Nybegynder
18. maj 2003 - 08:32 Der er 3 kommentarer og
1 løsning

Simpel XML-file reader

Jeg vil gerne indlæse servernavn mv. fra en simpel xml-konfigurationsfil, og har ikke lyst til at kaste mig ud i den store DOM-walk, selvom jeg har set eksemplet på dette.
Nogen der har et eksempel på en simpel måde at læse noderne på sådan en fil?
Avatar billede burningice Nybegynder
18. maj 2003 - 11:08 #1
Her er en kodeblok hvor jeg har brugt den... håber du kan bruge det til noget :)

XmlTextReader xmlReader;

            try
            {
                //Indlæser data ind i vores XML-reader fra nettet
                xmlReader = new XmlTextReader(@"http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
            }
            catch (WebException)
            {
                throw new WebException("Der opstod fejl med at hente xmlfilen fra nettet");
            }

            try
            {
                xmlReader.Read();
            }
            catch (WebException)
            {
                throw new WebException("Forbindelsen er sq røget sig en tur du :(");
            }

            //Sletter alle rækkerne fra vores valuta-tabel
            currencyTable.Rows.Clear();
           
            //Looper igennem alle items i readeren
            do
            {
                //Tjek om den node vi er kommet til hedder cube
                if (xmlReader.Name == "Cube")
                {
                    //Tjekker om den har 1 attribut, i så fald er det datoen
                    if (xmlReader.AttributeCount == 1)
                    {
                        xmlReader.MoveToAttribute("time");
                        currentUpdate = DateTime.Parse(xmlReader.Value);
                    }
                   
                    //Hvis antallet af attributter er 2, så har vi fat i en valuta-node
                    if (xmlReader.AttributeCount == 2)
                    {
                        DataRow dr = currencyTable.NewRow();
                       
                        xmlReader.MoveToAttribute("currency");
                        dr["currency"] = xmlReader.Value;
                   
                        xmlReader.MoveToAttribute("rate");
                        dr["rate"] = decimal.Parse(xmlReader.Value.Replace(".",","));

                        currencyTable.Rows.Add(dr);
                    }
                }
            } while (xmlReader.Read());
        }
Avatar billede erve Nybegynder
18. maj 2003 - 12:36 #2
Takker ydmygst, Jeg har ikke prøvet det, men det ligner noget der virker :o)
Men jeg synes muligheden for at give point mangler - måske fordi du har oprettet det som kommentar. Kan du ikke prøve at oprette et svar, så skal eg godkende det
Avatar billede burningice Nybegynder
18. maj 2003 - 12:49 #3
jeg tænkte at du nok lige ville prøve det først, før du begyndte at dele point ud :)
Avatar billede erve Nybegynder
18. maj 2003 - 20:58 #4
Jowjow - det virker - jeg har kogt det ned til mindst muligt. Det eneste der undrer mig er at xmlReader.Read() også læser nogle noder hvor name er "". Derfor testen if (xmlReader.Name != "")
Takker

    public void parseXML()
    {
      XmlTextReader xmlReader;

      try
      {
        xmlReader = new XmlTextReader(@"http://www.a.dk/config.xml");
      }
      catch (WebException)
      {
        throw new WebException("Der opstod fejl med at hente xmlfilen fra nettet");
      }

      try
      {
        while (xmlReader.Read())
        {
          if (xmlReader.Name != "")
          {
            for (int i = 0 ; i < xmlReader.AttributeCount; i++)
            {
              xmlReader.MoveToNextAttribute();
            }
          }
        }
      }
      catch (WebException)
      {
        throw new WebException("Forbindelsen mistet");
      }
    }
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