Ist es praktisch/möglich, Serialisierung zu verwenden, um Daten aus einem RSS-Feed zu lesen? Ich möchte grundsätzlich Informationen aus meiner Netflix-Warteschlange (bereitgestellt von einem RSS-Feed) abrufen, und ich versuche zu entscheiden, ob Serialisierung machbar/möglich ist, oder ob ich nur etwas wie XMLReader verwenden sollte. Wie könnte man den Feed am besten von einer URL herunterladen? Ich habe nie Dateien von anderen als Laufwerken gezogen, also bin ich mir nicht sicher, wie ich das machen soll.Deserialisieren eines RSS-Feeds in .NET
Antwort
Wenn Sie LINQ verwenden, LINQ to XML ist eine einfache Möglichkeit, die Grundlagen eines RSS-Feeds Dokument zu erhalten.
Dies ist von something I wrote aus meinem Blog ist eine Sammlung von anonymen Typen zur Auswahl aus RSS-Feeds, zum Beispiel:
protected void Page_Load(object sender, EventArgs e)
{
XDocument feedXML = XDocument.Load("http://feeds.encosia.com/Encosia");
var feeds = from feed in feedXML.Descendants("item")
select new
{
Title = feed.Element("title").Value,
Link = feed.Element("link").Value,
Description = feed.Element("description").Value
};
PostList.DataSource = feeds;
PostList.DataBind();
}
Sie sollten in der Lage sein, etwas sehr ähnlich gegen Ihren Netflix-Feed zu verwenden.
Wenn Sie .NET 3.0 oder 3.5 ... verwenden, würde ich vorschlagen, einen XMLReader zu verwenden, um das Dokument in ein XDocument zu lesen. Sie können dann LINQ to XML verwenden, um den RSS-Feed abzufragen und ihn in etwas Nutzbares zu rendern.
Etwas zu bauen, um das XML zu deserialisieren, ist ebenfalls machbar und wird genauso gut funktionieren (wenn nicht sogar besser), aber es wird mehr Zeit in Anspruch nehmen.
Jeder Weg wird funktionieren ... tun, was Sie bequemer sind (oder, wenn Sie versuchen, XML-Serialisierung zu lernen, gehen Sie dafür und lernen etwas Neues).
Das .NET 3.5-Framework hinzugefügt Syndication-Unterstützung. Der System.ServiceModel.Syndication Namespace bietet eine Reihe von Arten Feeds, Feed-Inhalte und Kategorien, Futtermittel Formatierung (RSS 2.0, Atom 1.0) usw.
http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.aspx
Sie ein paar Optionen verwalten für Serialisierung, aber die einfachste ist wahrscheinlich am besten hier beschrieben:
- RSS-Schema von http://www.thearchitect.co.uk/schemas/rss-2_0.xsd
- C# Klasse generieren xsd.exe verwenden. XSD rssschema.xsd/c
- Während der Laufzeit deserialisiert die RSS XML unter Verwendung des XSD und Klasse oben erzeugt.
using System.ServiceModel.Syndication;
public static SyndicationFeed GetFeed(string uri)
{
if (!string.IsNullOrEmpty(uri))
{
var ff = new Rss20FeedFormatter(); // for Atom you can use Atom10FeedFormatter()
var xr = XmlReader.Create(uri);
ff.ReadFrom(xr);
return ff.Feed;
}
return null;
}
- 1. flowplayer mit rssfeeds
- 2. Serialisieren/Deserialisieren eines zweidimensionalen Arrays
- 3. C# .NET JSON-Zeichenfolge zu Objekt deserialisieren
- 4. Deserialisieren eines JSON-Objekts in Fabric.js
- 5. MTOM/XOP-Daten analysieren/deserialisieren .NET
- 6. deserialisieren mehr BSON ObjectID zu String eines MongoDB Dokuments in C# .Net
- 7. Strategie für Deserialisieren eine Klasse, die in .NET
- 8. Serialisieren und Deserialisieren eines gezackten Arrays C#
- 9. Deserialisieren eines generischen Typs mit Jackson
- 10. Serialisieren und Deserialisieren eines öffentlichen RSA-Schlüssels
- 11. Serialisieren eines Arrays und Deserialisieren Zurück
- 12. Deserialisieren eines JSON-Arrays in C# in eine Liste
- 13. Serialisieren/Deserialisieren eines Unterklassenobjekts in einer Methode in Java
- 14. Deserialisieren XML-Objekte in C#
- 15. Deserialisieren eines JSON-Arrays in ein Swift-Array von Objekten
- 16. Kann die .NET XmlSerializer-Klasse InnerXml als Zeichenfolge deserialisieren?
- 17. Deserialisieren Nullwert in JSON
- 18. Verifizieren eines XPath in .NET
- 19. Warum ist das Kopieren eines Stroms und dann schneller eine BinaryFormatter Deserialisieren mit als nur Deserialisieren
- 20. Drucken eines .NET DataGridView
- 21. Lage nicht aus XML-Datei in ein Objekt in C# deserialisieren in .NET 3.0 WCF-Dienst
- 22. Lambda nicht deserialisieren
- 23. PHP-Array in Coldfusion deserialisieren
- 24. Deserialisieren JSON-String in android
- 25. Deserialisieren JSON-Objekt in Java
- 26. Deserialisieren von Objekten in Java
- 27. Deserialisieren JSON in ein Objekt
- 28. Deserialisieren eines inneren Arrays zu Objekten mithilfe von JSON.net
- 29. Deserialisieren eines JSON mit einer Liste von Objekten mit Gson
- 30. Wie jersonconvert newtonsoft deserialisieren?
habe ich einen Blick in diese, aber es scheint nur der Namensraum Serialisierungsoptionen bietet, nicht Deserialisierung Optionen, wenn ich etwas übersehen. – MGSoto
Sie "Deserialisieren" über die statische Methode SyndicationFeed.Load. Es erkennt automatisch das Eingabeformat. Wenn Sie mehr Kontrolle benötigen, können Sie die Formatierer direkt verwenden ... alle haben eine ReadFrom-Methode, die einen XmlReader verwendet. – jrista
Ich werde einen Blick darauf werfen, wenn ich nach Hause komme, das ist toll zu wissen, ob ich jemals ein anderes RSS-Projekt machen muss. – MGSoto