Accessing and managing syndicated content (XAML)

[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]

Retrieve or create the most current and popular Web content using syndicated feeds generated according to the RSS and Atom standards using features in the Windows.Web.Syndication namespace.

What is a feed?

A web feed is a document that contains any number of individual entries made up of text, links, and images. Updates made to a feed are in the form of new entries used to promote the latest content across the Web. Content consumers can use a feed reader app to aggregate and monitor feeds from any number of individual content authors, gaining access to the latest content quickly and conveniently.

Which feed format standards are supported?

The Windows Runtime supports feed retrieval for RSS format standards from 0.91 to RSS 2.0, and Atom standards from 0.3 to 1.0. Classes in the Windows.Web.Syndication namespace can define feeds and feed items capable of representing both RSS and Atom elements.

Additionally, Atom 1.0 and RSS 2.0 formats both allow their feed documents to contain elements or attributes not defined in the official specifications. Over time, these custom elements and attributes have become a way to define domain-specific information consumed by other web service data formats like GData and OData. To support this added feature, the SyndicationNode class represents generic XML elements. Using SyndicationNode with classes in the Windows.Data.Xml.Dom namespace, allows apps to access attributes, extensions, and any content that they may contain.

Note that, for publication of syndicated content, the Windows Runtime implementation of the Atom Publication Protocol (Windows.Web.AtomPub) only supports feed content operations according to the Atom and Atom Publication standards.

Using syndicated content with network isolation

The network isolation feature in the Windows Runtime enables a developer to control and limit network access by a Windows Runtime app. Not all apps may require access to the network. However for those apps that do, Windows Runtime provides different levels of access to the network that can be enabled by selecting appropriate capabilities.

Network isolation allows a developer to define for each app the scope of required network access. An app without the appropriate scope defined is prevented from accessing the specified type of network, and specific type of network request (outbound client-initiated requests or both inbound unsolicited requests and outbound client-initiated requests). The ability to set and enforce network isolation ensures that if an app does get compromised, it can only access networks where the app has explicitly been granted access. This significantly reduces the scope of the impact on other applications and on Windows.

Network isolation affects any class elements in the Windows.Web.Syndication and Windows.Web.AtomPub namespaces that try to access the network. Windows actively enforces network isolation. A call to a class element in the Windows.Web.Syndication or Windows.Web.AtomPub namespace that results in network access may fail because of network isolation if the appropriate network capability has not been enabled.

The network capabilities for an app are configured in the app manifest when the app is built. Network capabilities are usually added using Microsoft Visual Studio 2013 Update 2 when developing the app. Network capabilities may also be set manually in the app manifest file using a text editor.

For more detailed information on network isolation, see the How to configure network isolation capabilities.

In This Section

Topic Description
How to access a web feed

Enable your Windows Runtime app to access syndicated web content.

How to manage web feed entries

Enable your Windows Runtime app to access a service document and modify the feed resources it represents.

 

Other

Roadmap for Windows Runtime apps using C# or Visual Basic

Roadmap for Windows Runtime apps using C++

Reference

SyndicationNode

Windows.Data.Xml.Dom

Windows.Web.AtomPub

Windows.Web.Syndication

Samples

AtomPub sample

Syndication sample