public void WriteXml(System.Xml.XmlWriter writer)
{
if (FeedType != FeedType.ResourceEntry && FeedType != FeedType.LinkedSingle)
{
writer.WriteStartElement("feed", Namespaces.atomNamespace);
writer.WriteElementString("title", Namespaces.atomNamespace, this.Title);
writer.WriteElementString("id", Namespaces.atomNamespace, this.Id);
foreach (FeedLink link in this.Links)
{
writer.WriteStartElement("link", Namespaces.atomNamespace);
writer.WriteAttributeString("rel", link.LinkType.ToString().ToLower());
#warning get xmlenum descrition
writer.WriteAttributeString("type", link.Type.ToString());
writer.WriteAttributeString("title", link.Title);
writer.WriteAttributeString("href", link.Uri);
writer.WriteEndElement();
}
/* OPENSEARCH */
if (null != this.Opensearch_ItemsPerPageElement)
writer.WriteRaw(this.Opensearch_ItemsPerPageElement.ToXml());
if (null != this.Opensearch_StartIndexElement)
writer.WriteRaw(this.Opensearch_StartIndexElement.ToXml());
if (null != this.Opensearch_TotalResultsElement)
writer.WriteRaw(this.Opensearch_TotalResultsElement.ToXml());
#region SyncDigest
if (this.FeedType == FeedType.SyncSource)
{
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(SyncFeedDigest));
serializer.Serialize(writer, this.Digest);
}
#endregion
}
foreach (object entryObj in this.Entries)
{
if (entryObj is SyncFeedEntry)
(entryObj as SyncFeedEntry).WriteXml(writer, this.FeedType);
}
if (FeedType != FeedType.ResourceEntry && FeedType != FeedType.LinkedSingle)
{
writer.WriteEndElement();
}
}