XmlSiteMapProvider クラス

定義

XmlSiteMapProvider クラスは、SiteMapProvider クラスから派生します。これは、ASP.NET の既定のサイト マップ プロバイダーです。 XmlSiteMapProvider クラスは、ファイル名拡張子が .sitemap の XML ファイルからサイト マップ ツリーを生成します。

public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
    inherit StaticSiteMapProvider
    interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
継承
実装

注釈

クラスは、既知の XmlSiteMapProvider スキーマに従う XML ファイルからサイト マップ データを読み込みます。 サイト マップ データはタグで <siteMap> 囲まれており、入れ子になったタグで構成されます <siteMapNode> 。 サイト マップ データの構造に対して SiteMapProvider クラスと XmlSiteMapProvider クラスによって、次の 2 つの制約が課されます。

  • 存在できるルート ノードは 1 つだけです。

  • URL を指定するオブジェクトの場合 SiteMapNode 、URL はプロバイダーのスコープ内で一意である必要があります。 (URL を指定しないノードの場合、すべてのキーは一意である必要があります)。

次のコード例は、 と共に使用できる XML ファイルの例を XmlSiteMapProvider示しています。

<siteMap>  
  <siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">  
      <siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>  
    </siteMapNode>  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>  
  </siteMapNode>  
</siteMap>  

XmlSiteMapProviderは ASP.NET の既定のプロバイダーであり、ASP.NET アプリケーションのディレクトリ構造内にある Web.sitemap という名前のファイルから XML データを読み取ります。 既定では、Web.sitemap ファイルはアプリケーション ルートにあります。ただし、データの読み込み元のファイルの名前または場所を XmlSiteMapProvider 変更する場合は、Web.config ファイルの既定の構成をオーバーライドできます。 Web.config ファイルの既定の構成設定をオーバーライドすることで、必要に応じて、ASP.NET アプリケーションごとに の XmlSiteMapProvider 動作を調整できます。

次のコード例では、Web.config ファイルの例を示します。ここで XmlSiteMapProvider 、 は引き続き使用されますが、別のサイト マップ ファイルが使用されます。 オブジェクト内 SiteMapProviderCollection のすべてのプロバイダーは一意に名前を付ける必要があるため、Web.config ファイルで指定されたものは既定以外の名前を使用しますが、既定のプロバイダーとしても設定されるため、既定の ASP.NET 構成で指定されている の XmlSiteMapProvider 代わりに使用されます。

Note

サイト ナビゲーション データ ファイルの名前は変更できますが、その拡張子を変更することはできません。 は XmlSiteMapProvider 、ファイル名拡張子 .sitemap で名前が付けられたファイルからデータを読み取るだけです。

<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">  
  <providers>  
    <add name="MyXmlSiteMapProvider"  
      description="SiteMap provider that reads in .sitemap files."  
      type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  
      siteMapFile="CustomWeb.sitemap" />  
  </providers>  
</siteMap>  

コンストラクター

XmlSiteMapProvider()

XmlSiteMapProvider クラスの名前のない新しいインスタンスを作成します。

プロパティ

CurrentNode

現在要求されているページを表す SiteMapNode オブジェクトを取得します。

CurrentNode

現在要求されているページを表す SiteMapNode オブジェクトを取得します。

(継承元 SiteMapProvider)
Description

管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。

(継承元 ProviderBase)
EnableLocalization

SiteMapNode 属性のローカライズされた値が返されるかどうかを示すブール値を取得または設定します。

(継承元 SiteMapProvider)
Name

構成時にプロバイダーを参照するために使用される表示名を取得します。

(継承元 ProviderBase)
ParentProvider

現在のプロバイダーの親 SiteMapProvider オブジェクトを取得または設定します。

(継承元 SiteMapProvider)
ResourceKey

SiteMapNode 属性のローカライズに使用するリソース キーを取得または設定します。

(継承元 SiteMapProvider)
RootNode

サイト マップのルート ノードを取得します。

RootProvider

現在のプロバイダー階層のルート SiteMapProvider オブジェクトを取得します。

(継承元 SiteMapProvider)
SecurityTrimmingEnabled

サイト マップ プロバイダーがユーザーのロールに基づいてサイト マップ ノードをフィルター処理するかどうかを示すブール値を取得します。

(継承元 SiteMapProvider)

メソッド

AddNode(SiteMapNode)

サイト マップ プロバイダーが管理するノード コレクションに SiteMapNode オブジェクトを追加します。

(継承元 SiteMapProvider)
AddNode(SiteMapNode, SiteMapNode)

現在のプロバイダーで管理しているコレクションに SiteMapNode オブジェクトを追加します。

AddProvider(String, SiteMapNode)

子サイト マップ プロバイダーを現在のプロバイダーにリンクします。

BuildSiteMap()

XML ファイルからサイト マップ情報を読み込み、メモリ内で構築します。

Clear()

XmlSiteMapProvider オブジェクトが状態の一部として内部的に追跡する、子サイト マップ ノード、親サイト マップ ノード、およびサイト マップ プロバイダーのコレクションに含まれているすべての要素を削除します。

Dispose()

Web.sitemap ファイルの監視機能に対し、XmlSiteMapProvider オブジェクトがファイルの監視を要求していないことを通知します。

Dispose(Boolean)

Web.sitemap ファイルの監視機能に対し、XmlSiteMapProvider オブジェクトがファイルの監視を要求していないことを通知します。 Dispose(Boolean) メソッドは、メソッドがユーザー コードによって呼び出されているかどうかを示すブール型のパラメーターをとります。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FindSiteMapNode(HttpContext)

現在要求されているページを表す SiteMapNode オブジェクトを、指定した HttpContext オブジェクトを使用して取得します。

(継承元 SiteMapProvider)
FindSiteMapNode(String)

指定した URL のページを表す SiteMapNode オブジェクトを取得します。

FindSiteMapNodeFromKey(String)

指定したキーに基づいて SiteMapNode オブジェクトを取得します。

GetChildNodes(SiteMapNode)

サイト マップの子ノードを返します。

GetChildNodes(SiteMapNode)

特定の SiteMapNode オブジェクトの子サイト マップ ノードを取得します。

(継承元 StaticSiteMapProvider)
GetCurrentNodeAndHintAncestorNodes(Int32)

現在要求されているページのノードを取得し、現在のページの親および先祖のサイト マップ ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。

(継承元 SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

現在要求されているページのノードを検索し、現在のノードの近くのサイト マップ ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。

(継承元 SiteMapProvider)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetParentNode(SiteMapNode)

サイト マップの親ノードを返します。

GetParentNode(SiteMapNode)

特定の SiteMapNode オブジェクトの親サイト マップ ノードを取得します。

(継承元 StaticSiteMapProvider)
GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

現在要求されているページの先祖ノードを取得し、その先祖の子孫ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。

(継承元 SiteMapProvider)
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32)

指定した SiteMapNode オブジェクトの先祖ノードを取得して、その子ノードをフェッチする際に、サイト マップ プロバイダーに最適化された検索メソッドを提供します。

(継承元 SiteMapProvider)
GetRootNodeCore()

現在のサイト マップ データ構造の最上位ノードを取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HintAncestorNodes(SiteMapNode, Int32)

サイト マップ プロバイダーがオーバーライドして、指定した SiteMapNode オブジェクトの相対として 1 つ以上のレベルの親ノードと先祖ノードの最適化された取得を実行できるメソッドを提供します。

(継承元 SiteMapProvider)
HintNeighborhoodNodes(SiteMapNode, Int32, Int32)

サイト マップ プロバイダーがオーバーライドして、指定したノードの近くで見つかったノードの最適化された取得を実行できるメソッドを提供します。

(継承元 SiteMapProvider)
Initialize(String, NameValueCollection)

XmlSiteMapProvider オブジェクトを初期化します。 Initialize(String, NameValueCollection) メソッドは、実際のサイト マップ構築は行わず、構築するための XmlSiteMapProvider の状態を準備するだけです。

IsAccessibleToUser(HttpContext, SiteMapNode)

指定した SiteMapNode オブジェクトを、指定したコンテキストでユーザーが表示できるかどうかを示すブール値を取得します。

(継承元 SiteMapProvider)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
RemoveNode(SiteMapNode)

指定した SiteMapNode オブジェクトを、プロバイダーによる追跡対象のすべてのノード コレクションから削除します。

RemoveProvider(String)

現在のプロバイダーの階層から、リンクされている子サイト マップ プロバイダーを削除します。

ResolveSiteMapNode(HttpContext)

SiteMapResolve イベントを発生させます。

(継承元 SiteMapProvider)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

SiteMapResolve

CurrentNode プロパティが呼び出されると発生します。

(継承元 SiteMapProvider)

適用対象

こちらもご覧ください