XmlSiteMapProvider.BuildSiteMap メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As XmlSiteMapProvider Dim returnValue As SiteMapNode returnValue = instance.BuildSiteMap
サイト マップ ナビゲーション構造のルート SiteMapNode を返します。

例外の種類 | 条件 |
---|---|
InvalidOperationException | XmlSiteMapProvider が正常に初期化されませんでした。 または 一意でない <siteMapNode> について siteMapFile が解析されます。 または siteMapFile で指定されているファイル名拡張子が .sitemap ではありません。 または siteMapFile で指定されているファイルが存在しません。 または <siteMapNode> の provider で構成されているプロバイダがルート ノードとして null を返します。 |
ArgumentException | |
ConfigurationErrorsException | または 構成ファイルの最上位の要素が named <siteMap> ではありません。 または または <siteMap> の子の名前が <siteMapNode> ではありません。 または <siteMapNode> について予期しない属性が解析されます。 または provider が設定されている <siteMapNode> の下位にサブ要素が入れ子になっています。 または <siteMapNode> の roles に有効でない文字が含まれています。 または 一意でない <siteMapNode> についてurl が解析されます。 または SiteMapNode で、重複した Key の値が検出されました。 または SiteMapNode の ResourceKey または Title が指定されていたか、ノードに定義された custom 属性に明示的なリソース式が格納されていました。 または 明示的なリソース式が、SiteMapNode の Title または Description、または custom 属性に適用されていましたが、明示的な情報が有効ではありませんでした。 または |
ProviderException | |
ArgumentNullException | |
HttpException | <siteMapNode> の siteMapFile で物理パスが使用されています。 または |

BuildSiteMap メソッドは、サイト マップを永続ストレージから読み込んで構築するために呼び出されます。
セキュリティ トリミングが有効な場合の既定の動作については、IsAccessibleToUser のトピックの "解説" を参照してください。
XmlSiteMapProvider オブジェクトがサイト マップのデータを解析して読み込むと、読み込まれたすべての SiteMapNode オブジェクトと SiteMapNodeCollection コレクションが読み取り専用になります。XmlSiteMapProvider は、サイト マップ ファイルから Url プロパティを解析するときに、相対 URL だけでなく、アプリケーションの相対 URL も、アプリケーションの絶対仮想パスに変換します。
XmlSiteMapProvider は、.sitemap ファイルのファイル変更通知をサブスクライブします。.sitemap ファイルに何らかの変更が加えられると、XmlSiteMapProvider が再度読み込まれ、サイト マップ構造が再構築されます。

XmlSiteMapProvider クラスの新しいインスタンスを作成し、このクラスを初期化して XML データからサイト マップを構築する方法を次のコード例に示します。
<%@ Page Language="c#" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <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); // The BuildSiteMap method is implicitly called when the // RootNode propety is accessed. // Prints "/myvirtualdirectory/WebForm1.aspx" Response.Write(testXmlProvider.RootNode.Url + "<BR>"); // Prints "/myvirtualdirectory/WebForm2.aspx" Response.Write(testXmlProvider.CurrentNode.Url + "<BR>"); }
上記のコード例では、ASP.NET アプリケーションの仮想ルートに配置されている XML ファイルを使用しています。ファイルの形式は次のようになります。
<siteMap> <siteMapNode title="RootNode" description="The root page." url="WebForm1.aspx"> <siteMapNode title="CurrentNode" description="Some sub page." url="WebForm2.aspx"/> </siteMapNode> </siteMap>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からXmlSiteMapProvider.BuildSiteMap メソッドを検索する場合は、下記のリンクをクリックしてください。

- XmlSiteMapProvider.BuildSiteMap メソッドのページへのリンク