GetPublishingWebs Method

PublishingWeb.GetPublishingWebs Method

Returns child PublishingWeb objects immediately below this PublishingWeb object.

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

public PublishingWebCollection GetPublishingWebs()

Return Value

Type: Microsoft.SharePoint.Publishing.PublishingWebCollection
A PublishingWebCollection collection with all child PublishingWeb objects immediately below this PublishingWeb.

All PublishingWeb instances in this collection should be closed by the caller using the SPWeb.Close method.

This method creates a new PublishingWeb below the root Web of a PublishingSite.

The SPSite that is passed in should be a site that supports the Publishing feature.


using SPSite = Microsoft.SharePoint.SPSite;
using PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite;
using SPWeb = Microsoft.SharePoint.SPWeb;
using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb;
using PublishingWebCollection = Microsoft.SharePoint.Publishing.PublishingWebCollection;
using SPWebTemplate = Microsoft.SharePoint.SPWebTemplate;

namespace Microsoft.SDK.SharePointServer.Samples
    public static class PublishingWebCollectionCodeSamples

        public static void CreatePublishingWebBelowRoot( SPSite site, SPWebTemplate webTemplate )
            // TODO: Replace these variable values and input parameters with 
            // your own values.
            string yourWebUrlName = "yourWebUrl";   // your web URL name for the PublishingWeb to create

            PublishingWeb newWeb = null;

                // Validate the input parameters.
                if (null == site)
                    throw new System.ArgumentNullException("site");
                if (null == webTemplate)
                    throw new System.ArgumentNullException("webTemplate");

                PublishingSite publishingSite = null;
                if (!PublishingSite.IsPublishingSite(site))
                    throw new System.ArgumentException(
                        "The SPSite is expected to be a PublishingSite",
                publishingSite = new PublishingSite( site );

                SPWeb rootWeb = publishingSite.RootWeb;
                if( !PublishingWeb.IsPublishingWeb( rootWeb ))
                    throw new System.ArgumentException(
                        "The SPSite.RootWeb is expected to be a PublishingWeb",

                PublishingWeb rootPublishingWeb = PublishingWeb.GetPublishingWeb( rootWeb );
                PublishingWebCollection publishingWebs = rootPublishingWeb.GetPublishingWebs();

                // Create the new PublishingWeb using the sample values provided.
                newWeb = publishingWebs.Add(
                    rootWeb.Language,   // TODO: Replace with your language value.
                    webTemplate.Name ); // TODO: Replace with your Web template name.

                // The Publishing feature is active for the new PublishingWeb.
                    null != newWeb.Web.Features[Microsoft.SharePoint.Publishing.FeatureIds.Publishing]);
                // Always close the SPWeb when done to release memory.
                if( null != newWeb )


Community Additions

© 2015 Microsoft