Search code examples
c#.netsyndicationsyndication-feedatom-feed

How To Add A SyndicationElementExtension To A SyndicationItem


Using the .NET System.ServiceModel.Syndication classes...

I would like to add a new SyndicationElementExtension to a SyndicationItem that will export the following XML:

<media:thumbnail url="http://www.foo.com/keyframe.jpg" width="75" height="50" time="12:05:01.123" />

Something along the lines of:

syndicationItem.ElementExtensions.Add(new SyndicationElementExtension("thumbnail", "http://video.search.yahoo.com/mrss", ?

How do you create a simple SyndicationElementExtension with a few attributes?


Solution

  • Found the answer here: http://msdn.microsoft.com/en-us/library/bb943475.aspx

    The SyndicationElementExtensionCollection class can also be used to create element extensions from an XmlReader instance. This allows for easy integration with XML processing APIs such as XElement as shown in the following sample code.

    feed.ElementExtensions.Add(new XElement("xElementExtension",
            new XElement("Key", new XAttribute("attr1", "someValue"), "Z"),
            new XElement("Value", new XAttribute("attr1", "someValue"), 
            "15")).CreateReader());