SyndicationItem.ElementExtensions Property

Definition

Gets the element extensions contained in the syndication item.

public:
 property System::ServiceModel::Syndication::SyndicationElementExtensionCollection ^ ElementExtensions { System::ServiceModel::Syndication::SyndicationElementExtensionCollection ^ get(); };
public System.ServiceModel.Syndication.SyndicationElementExtensionCollection ElementExtensions { get; }
member this.ElementExtensions : System.ServiceModel.Syndication.SyndicationElementExtensionCollection
Public ReadOnly Property ElementExtensions As SyndicationElementExtensionCollection

Property Value

A SyndicationElementExtensionCollection that contains the element extensions.

Examples

The following code shows how to add element extensions to a SyndicationItem instance.

SyndicationItem item = new SyndicationItem();

// Add several different types of element extensions
item.ElementExtensions.Add("simpleString", "", "hello, world!");
item.ElementExtensions.Add("simpleString", "", "another simple string");

// DataContractExtension is a user-defined type marked with the DataContractAttribute
item.ElementExtensions.Add(new DataContractExtension() { Key = "X", Value = 4 });

// XmlSerializerExtension is a user-defined type that defines a ToString() method
item.ElementExtensions.Add(new XmlSerializerExtension() { Key = "Y", Value = 8 }, new XmlSerializer(typeof(XmlSerializerExtension)));

item.ElementExtensions.Add(new XElement("xElementExtension", new XElement("Key", new XAttribute("attr1", "someValue"), "Z"),
    new XElement("Value", new XAttribute("attr1", "someValue"), "15")).CreateReader());
Dim item As New SyndicationItem()

' Add several different types of element extensions
item.ElementExtensions.Add("simpleString", "", "hello, world!")
item.ElementExtensions.Add("simpleString", "", "another simple string")

' DataContractExtension is a user-defined type marked with the DataContractAttribute
item.ElementExtensions.Add(New DataContractExtension With {.Key = "X", .Value = 4})

' XmlSerializerExtension is a user-defined type that defines a ToString() method
item.ElementExtensions.Add(New XmlSerializerExtension With {.Key = "Y", .Value = 8}, New XmlSerializer(GetType(XmlSerializerExtension)))

item.ElementExtensions.Add(New XElement("xElementExtension", New XElement("Key", New XAttribute("attr1", "someValue"), "Z"), _
        New XElement("Value", New XAttribute("attr1", "someValue"), "15")).CreateReader())

Remarks

Element extensions are valid XML elements that are not specified in either the Atom 1.0 or RSS 2.0 specifications. Any valid XML element can be added as an extension provided its namespace is different from the enclosing namespace. When serialized, extensions are written like any other XML element.

<mg:MyElement xmlns:mg="http://myserver/elements" />  

For a complete example that shows how to add element extensions, see the Loosely-Typed Extensions sample.

Applies to