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 を指定しないノードの場合、すべてのキーは一意である必要があります)。

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

<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)

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

AddNode(SiteMapNode)

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

(継承元 SiteMapProvider)
AddProvider(String, SiteMapNode)

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

BuildSiteMap()

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

Clear()

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

Dispose()

XmlSiteMapProvider オブジェクトでファイルを監視する必要がなくなったことを Web.sitemap ファイルのファイル モニターに通知します。

Dispose(Boolean)

XmlSiteMapProvider オブジェクトでファイルを監視する必要がなくなったことを Web.sitemap ファイルのファイル モニターに通知します。 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)

適用対象

こちらもご覧ください