Avatar billede gulbaek Nybegynder
28. maj 2006 - 12:32 Der er 4 kommentarer og
1 løsning

Egen Rss læser

Hejsa, er ved at lave min egen rss reader med er støt på et problem, min kode indtil videre ser ud som følgende.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Xml;

namespace RssReader_Test
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create an XmlUrlResolver with default credentials.
            XmlUrlResolver resolver = new XmlUrlResolver();
           

            // Create the reader.
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.XmlResolver = resolver;

            using (XmlReader reader = XmlReader.Create("http://www.dotnetforum.dk/blogs/MainFeed.aspx?GroupID=15", settings))
            {
                while (reader.Read())
                {
                    reader.ReadToFollowing("item");
                    string title = reader.ReadElementString();
                    string link = reader.ReadElementString();
                    Console.WriteLine("title: " + title);
                    Console.WriteLine("link: " + link);
                }
            }
        }
    }
}

Mit problem er at jeg ikke har bedre styr på hvordan jeg henter de enkelte elementer ud, vil gerne kunne gøre det lidt mere præcist end bare at kalde metoden ReadElementString();  Når jeg forsøger mig med følgende

string title = reader.ReadElementString("title");

får jeg bare en besked om at elementet title ikke blev fundet.
Avatar billede tuxic Nybegynder
28. maj 2006 - 19:34 #1
Hejsa, med mindre du forventer at læse enorme feeds vil jeg anbefale at du går via et XmlDocument og bruger XPath. Alternativt bruger XmlSerializeren.

XmlReaderen er en slags erstatning for SAX: Dvs en let, hurtig læsning henover elementerne. Er fint hvis xmlfilerne er store (vi snakker formentligt 5mb+)
Avatar billede gulbaek Nybegynder
28. maj 2006 - 22:12 #2
du kunne ikke tænke dig at lave et lille eksempel hvor du bruger xmldocument og xpath, kender nemlig ikke særlig meget til xpath
Avatar billede gulbaek Nybegynder
29. maj 2006 - 12:08 #3
Har fået det til at virke ved hjælp af xmldocument, har lige lavet et lille eksempel hvis nogen skulle få brug for det.

XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("/bookstore/book");


while (nodes.MoveNext())
{
    Console.WriteLine(nodes.Current.SelectSingleNode("title"));
    Console.WriteLine(nodes.Current.SelectSingleNode("author/first-name"));
}

og xml filen

<bookstore>
  <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

tuxic smid lige et svar hvis du vil have lidt point
Avatar billede tuxic Nybegynder
29. maj 2006 - 12:24 #4
Najs at du har fået det til at virke. Beklager at ikke nåede at komme med et eksempel (men personligt synes jeg det er sjovere at løse det selv; omvendt er der ikke altid tid .)
Avatar billede gulbaek Nybegynder
29. maj 2006 - 12:53 #5
Det er bare helt iorden og ja det er meget sjovere selv at få tingene til at virke, men det var trods alt dig der fik mig guided i den rigtige retning, så takker
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