XmlSiteMapProvider クラス

定義

XmlSiteMapProvider クラスは、SiteMapProvider クラスから派生します。これは、ASP.NET の既定のサイト マップ プロバイダーです。The XmlSiteMapProvider class is derived from the SiteMapProvider class and is the default site map provider for ASP.NET. XmlSiteMapProvider クラスは、ファイル名拡張子が .sitemap の XML ファイルからサイト マップ ツリーを生成します。The XmlSiteMapProvider class generates site map trees from XML files with the file name extension .sitemap.

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 ファイルからサイトマップデータを読み込みます。The XmlSiteMapProvider class loads site map data from an XML file that follows a known schema. サイトマップデータはタグによっ<siteMap>て制限され、 <siteMapNode>入れ子になったタグで構成されます。The site map data is bounded by <siteMap> tags and consists of nested <siteMapNode> tags. 次のSiteMapProvider 2 つの制約はXmlSiteMapProvider 、サイトマップデータの構造に関するクラスとクラスによって設定されます。Two constraints are imposed by the SiteMapProvider and XmlSiteMapProvider classes on the structure of the site map data:

  • ルートノードは1つしか存在できません。Only one root node can exist.

  • Url SiteMapNodeを指定するオブジェクトの場合、url はプロバイダーのスコープ内で一意である必要があります。For SiteMapNode objects that specify URLs, the URLs must be unique within the scope of the provider. (Url を指定しないノードでは、すべてのキーが一意である必要があります)。(For nodes that do not specify URLs, all keys must be unique.)

次のコード例は、 XmlSiteMapProviderで使用できる XML ファイルの例を示しています。The following code example shows an example of an XML file that can be used with the 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.config という名前のファイルから XML データを読み取ります。The XmlSiteMapProvider is the default provider for ASP.NET and it reads XML data from a file named Web.sitemap that is located within the directory structure of the ASP.NET application. 既定では、Web サイトファイルはアプリケーションのルートにあります。ただし、がXmlSiteMapProviderデータを読み込むファイルの名前または場所を変更する場合は、web.config ファイルの既定の構成をオーバーライドできます。By default, the Web.sitemap file is located at the application root; however, if you want to change the name or location of the file from which the XmlSiteMapProvider loads data, you can override the default configuration in your Web.config file. Web.config ファイルの既定の構成設定をオーバーライドすることにより、必要に応じて、 XmlSiteMapProvider各 ASP.NET アプリケーションのの動作を調整できます。By overriding the default configuration settings in your Web.config file, you can tailor the behavior of the XmlSiteMapProvider for each ASP.NET application, as necessary.

次のコード例は、がまだ使用されているがXmlSiteMapProvider 、別のサイトマップファイルが使用されている web.config ファイルの例を示しています。The following code example demonstrates an example Web.config file, where the XmlSiteMapProvider is still used, but a different site map file is used. SiteMapProviderCollectionオブジェクト内のすべてのプロバイダー名は一意である必要があるため、web.config ファイルで指定されているプロバイダーは、既定の名前以外の名前を使用しますが、既定のプロバイダーとしてもXmlSiteMapProvider設定されるため、以下で指定されているの代わりに使用されます。既定の ASP.NET 構成。Because all providers in a SiteMapProviderCollection object must be named uniquely, the one that is specified in the Web.config file uses a name other than the default but is also set as the default provider so that it will be used instead of the XmlSiteMapProvider that is specified in the default ASP.NET configuration.

注意

サイトナビゲーションデータファイルの名前を変更することはできますが、その拡張子を変更することはできません。You can change the name of the site navigation data file, but you cannot change its extension. XmlSiteMapProvider 、というファイル名拡張子を持つファイルからデータを読み取ります。The XmlSiteMapProvider only reads data from files that are named with the file name extension .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 クラスの名前のない新しいインスタンスを作成します。Creates a new, unnamed, instance of the XmlSiteMapProvider class.

プロパティ

CurrentNode

現在要求されているページを表す SiteMapNode オブジェクトを取得します。Gets the SiteMapNode object that represents the currently requested page.

Description

管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(継承元 ProviderBase)
EnableLocalization

SiteMapNode 属性のローカライズされた値が返されるかどうかを示すブール値を取得または設定します。Gets or sets a Boolean value indicating whether localized values of SiteMapNode attributes are returned.

(継承元 SiteMapProvider)
Name

構成時にプロバイダーを参照するために使用される表示名を取得します。Gets the friendly name used to refer to the provider during configuration.

(継承元 ProviderBase)
ParentProvider

現在のプロバイダーの親 SiteMapProvider オブジェクトを取得または設定します。Gets or sets the parent SiteMapProvider object of the current provider.

(継承元 SiteMapProvider)
ResourceKey

SiteMapNode 属性のローカライズに使用するリソース キーを取得または設定します。Get or sets the resource key that is used for localizing SiteMapNode attributes.

(継承元 SiteMapProvider)
RootNode

サイト マップのルート ノードを取得します。Gets the root node of the site map.

RootProvider

現在のプロバイダー階層のルート SiteMapProvider オブジェクトを取得します。Gets the root SiteMapProvider object in the current provider hierarchy.

(継承元 SiteMapProvider)
SecurityTrimmingEnabled

サイト マップ プロバイダーがユーザーのロールに基づいてサイト マップ ノードをフィルター処理するかどうかを示すブール値を取得します。Gets a Boolean value indicating whether a site map provider filters site map nodes based on a user's role.

(継承元 SiteMapProvider)

メソッド

AddNode(SiteMapNode)

サイト マップ プロバイダーが管理するノード コレクションに SiteMapNode オブジェクトを追加します。Adds a SiteMapNode object to the node collection that is maintained by the site map provider.

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

現在のプロバイダーで管理しているコレクションに SiteMapNode オブジェクトを追加します。Adds a SiteMapNode object to the collections that are maintained by the current provider.

AddProvider(String, SiteMapNode)

子サイト マップ プロバイダーを現在のプロバイダーにリンクします。Links a child site map provider to the current provider.

BuildSiteMap()

XML ファイルからサイト マップ情報を読み込み、メモリ内で構築します。Loads the site map information from an XML file and builds it in memory.

Clear()

XmlSiteMapProvider オブジェクトが状態の一部として内部的に追跡する、子サイト マップ ノード、親サイト マップ ノード、およびサイト マップ プロバイダーのコレクションに含まれているすべての要素を削除します。Removes all elements in the collections of child and parent site map nodes and site map providers that the XmlSiteMapProvider object internally tracks as part of its state.

Dispose()

Web.sitemap ファイルの監視機能に対し、XmlSiteMapProvider オブジェクトがファイルの監視を要求していないことを通知します。Notifies the file monitor of the Web.sitemap file that the XmlSiteMapProvider object no longer requires the file to be monitored.

Dispose(Boolean)

Web.sitemap ファイルの監視機能に対し、XmlSiteMapProvider オブジェクトがファイルの監視を要求していないことを通知します。Notifies the file monitor of the Web.sitemap file that the XmlSiteMapProvider object no longer requires the file to be monitored. Dispose(Boolean) メソッドは、メソッドがユーザー コードによって呼び出されているかどうかを示すブール型のパラメーターをとります。The Dispose(Boolean) method takes a Boolean parameter indicating whether the method is called by user code.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
FindSiteMapNode(HttpContext)

現在要求されているページを表す SiteMapNode オブジェクトを、指定した HttpContext オブジェクトを使用して取得します。Retrieves a SiteMapNode object that represents the currently requested page using the specified HttpContext object.

(継承元 SiteMapProvider)
FindSiteMapNode(String)

指定した URL のページを表す SiteMapNode オブジェクトを取得します。Retrieves a SiteMapNode object that represents the page at the specified URL.

FindSiteMapNodeFromKey(String)

指定したキーに基づいて SiteMapNode オブジェクトを取得します。Retrieves a SiteMapNode object based on a specified key.

GetChildNodes(SiteMapNode)

サイト マップの子ノードを返します。Returns the child nodes of the site map.

GetCurrentNodeAndHintAncestorNodes(Int32)

現在要求されているページのノードを取得し、現在のページの親および先祖のサイト マップ ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。Provides an optimized lookup method for site map providers when retrieving the node for the currently requested page and fetching the parent and ancestor site map nodes for the current page.

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

現在要求されているページのノードを検索し、現在のノードの近くのサイト マップ ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。Provides an optimized lookup method for site map providers when retrieving the node for the currently requested page and fetching the site map nodes in the proximity of the current node.

(継承元 SiteMapProvider)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetParentNode(SiteMapNode)

サイト マップの親ノードを返します。Returns the parent node of the site map.

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

現在要求されているページの先祖ノードを取得し、その先祖の子孫ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。Provides an optimized lookup method for site map providers when retrieving an ancestor node for the currently requested page and fetching the descendant nodes for the ancestor.

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

指定した SiteMapNode オブジェクトの先祖ノードを取得して、その子ノードをフェッチする際に、サイト マップ プロバイダーに最適化された検索メソッドを提供します。Provides an optimized lookup method for site map providers when retrieving an ancestor node for the specified SiteMapNode object and fetching its child nodes.

(継承元 SiteMapProvider)
GetRootNodeCore()

現在のサイト マップ データ構造の最上位ノードを取得します。Retrieves the top-level node of the current site map data structure.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

サイト マップ プロバイダーがオーバーライドして、指定した SiteMapNode オブジェクトの相対として 1 つ以上のレベルの親ノードと先祖ノードの最適化された取得を実行できるメソッドを提供します。Provides a method that site map providers can override to perform an optimized retrieval of one or more levels of parent and ancestor nodes, relative to the specified SiteMapNode object.

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

サイト マップ プロバイダーがオーバーライドして、指定したノードの近くで見つかったノードの最適化された取得を実行できるメソッドを提供します。Provides a method that site map providers can override to perform an optimized retrieval of nodes found in the proximity of the specified node.

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

XmlSiteMapProvider オブジェクトを初期化します。Initializes the XmlSiteMapProvider object. Initialize(String, NameValueCollection) メソッドは、実際のサイト マップ構築は行わず、構築するための XmlSiteMapProvider の状態を準備するだけです。The Initialize(String, NameValueCollection) method does not actually build a site map, it only prepares the state of the XmlSiteMapProvider to do so.

IsAccessibleToUser(HttpContext, SiteMapNode)

指定した SiteMapNode オブジェクトを、指定したコンテキストでユーザーが表示できるかどうかを示すブール値を取得します。Retrieves a Boolean value indicating whether the specified SiteMapNode object can be viewed by the user in the specified context.

(継承元 SiteMapProvider)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
RemoveNode(SiteMapNode)

指定した SiteMapNode オブジェクトを、プロバイダーによる追跡対象のすべてのノード コレクションから削除します。Removes the specified SiteMapNode object from all node collections that are tracked by the provider.

RemoveProvider(String)

現在のプロバイダーの階層から、リンクされている子サイト マップ プロバイダーを削除します。Removes a linked child site map provider from the hierarchy for the current provider.

ResolveSiteMapNode(HttpContext)

SiteMapResolve イベントを発生させます。Raises the SiteMapResolve event.

(継承元 SiteMapProvider)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

SiteMapResolve

CurrentNode プロパティが呼び出されると発生します。Occurs when the CurrentNode property is called.

(継承元 SiteMapProvider)

適用対象

こちらもご覧ください