XmlSiteMapProvider.Initialize Method
Assembly: System.Web (in system.web.dll)
public void Initialize ( String name, NameValueCollection attributes )
public override function Initialize ( name : String, attributes : NameValueCollection )
Not applicable.
Parameters
- name
The XmlSiteMapProvider to initialize.
- attributes
A NameValueCollection that can contain additional attributes to help initialize name. These attributes are read from the XmlSiteMapProvider configuration in the Web.config file.
| Exception type | Condition |
|---|---|
| The XmlSiteMapProvider is initialized more than once. | |
| A SiteMapNode used a physical path to reference a site map file. - or - An error occurred while attempting to parse the virtual path supplied for the siteMapFile attribute. |
The following code example demonstrates how to create a new instance of the XmlSiteMapProvider class and initialize it to build a site map from XML data.
<%@ Page Language="c#" %> <SCRIPT runat="server"> private void Page_Load(object sender, System.EventArgs e) { // Create an instance of the XmlSiteMapProvider class. XmlSiteMapProvider testXmlProvider = new XmlSiteMapProvider(); NameValueCollection providerAttributes = new NameValueCollection(1); providerAttributes.Add("siteMapFile","test.sitemap"); // Initialize the provider with a provider name and file name. testXmlProvider.Initialize("testProvider", providerAttributes); // Call the BuildSiteMap to load the site map information into memory. testXmlProvider.BuildSiteMap(); // Prints "/myvirtualdirectory/WebForm1.aspx" Response.Write(testXmlProvider.RootNode.Url + "<BR>"); // Prints "/myvirtualdirectory/WebForm2.aspx" Response.Write(testXmlProvider.CurrentNode.Url + "<BR>"); } </SCRIPT>
The preceding code example uses an XML file that is located in the virtual root of the ASP.NET application. The file has the following format:
<siteMap>
<siteMapNode title="RootNode" description="The root page." url="WebForm1.aspx">
<siteMapNode title="CurrentNode" description="Some sub page." url="WebForm2.aspx"/>
</siteMapNode>
</siteMap>