XmlNamespaceManager クラス


名前空間の解決、コレクションへの追加と削除を実行します。また、名前空間のスコープ管理機能を提供します。Resolves, adds, and removes namespaces to a collection and provides scope management for these namespaces.

public ref class XmlNamespaceManager : System::Collections::IEnumerable, System::Xml::IXmlNamespaceResolver
public ref class XmlNamespaceManager : System::Collections::IEnumerable
public class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
public class XmlNamespaceManager : System.Collections.IEnumerable
type XmlNamespaceManager = class
    interface IEnumerable
    interface IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IEnumerable
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
Public Class XmlNamespaceManager
Implements IEnumerable


XML ドキュメントでの名前空間の宣言方法と使用方法に関する一般的な情報については、「 Xml ドキュメントでの名前空間の管理」を参照してください。For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManager プレフィックスと名前空間を文字列として格納します。XmlNamespaceManager stores prefixes and namespaces as strings. このクラスを使用して実行できる管理タスクと参照タスクの概要を次に示します。Here's a summary of management and lookup tasks you can perform with this class. 使用例を含む詳細については、各メソッドまたはプロパティのリファレンス ページへのリンクをクリックしてください。For more information and examples, follow the links to the reference page for each method or property.

終了To 使用Use
名前空間を追加するAdd a namespace AddNamespace メソッドAddNamespace method
名前空間を削除するRemove a namespace RemoveNamespace メソッドRemoveNamespace method
既定の名前空間の URI を検索するFind the URI for the default namespace DefaultNamespace プロパティDefaultNamespace property
名前空間プレフィックスの URI を検索するFind the URI for a namespace prefix LookupNamespace メソッドLookupNamespace method
名前空間 URI のプレフィックスを検索するFind the prefix for a namespace URI LookupPrefix メソッドLookupPrefix method
現在のノードの名前空間の一覧を取得するGet a list of namespaces in the current node GetNamespacesInScope メソッドGetNamespacesInScope method
名前空間のスコープを指定するScope a namespace PushScope メソッドおよび PopScope メソッドPushScope and PopScope methods
現在のスコープ内にプレフィックスが定義されているかどうかを確認するCheck whether a prefix is defined in the current scope HasNamespace メソッドHasNamespace method
プレフィックスおよび URI を検索するときに使用する名前テーブルを取得するGet the name table used to look up prefixes and URIs NameTable プロパティNameTable property

名前空間マネージャーに名前空間を追加するには、オブジェクトを作成 XmlNamespaceManager し、メソッドを使用し AddNamespace ます。To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. 作成時に、既定のプレフィックスと名前空間のペアが名前空間マネージャーに自動的に追加されます。Default prefix and namespace pairs are automatically added to the namespace manager on creation.

名前空間マネージャーを作成するときに XmlReader 、、、またはクラスから名前テーブルを指定し、メソッドを使用して名前 XsltContext XmlDocument 空間を追加でき AddNamespace ます。When you create the namespace manager, you can specify a name table from the XmlReader, XsltContext, or XmlDocument class, and then use the AddNamespace method to add the namespaces.

XmlNamespaceManagerオブジェクトをパラメーターとして SelectNodes クラスのメソッドまたはメソッドに渡して、 SelectSingleNode XmlDocument 名前空間で修飾された要素名と属性名を参照する XPath クエリ式を実行することができます。You can supply the XmlNamespaceManager object as a parameter to the SelectNodes or SelectSingleNode method of the XmlDocument class to execute XPath query expressions that reference namespace-qualified element and attribute names.

名前空間マネージャーは、プレフィックスと名前空間が既に検証済みで、 W3C 名前 空間の仕様に準拠していることを前提としています。The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. 名前空間マネージャーでは、検証は実行されません。The namespace manager does not perform any validation.

名前空間マネージャーは、メソッドを使用して文字列を追加するときと、メソッド AddNamespace またはメソッドを使用して参照を実行するときに、文字列を分割し LookupNamespace LookupPrefix ます。The namespace manager atomizes the strings when they are added by using the AddNamespace method and when a lookup is performed by using the LookupNamespace or LookupPrefix method.

名前空間マネージャーにより、名前空間の追加と取得だけでなく、列挙のサポートも実装されます。The namespace manager implements enumeration support in addition to adding and retrieving namespaces. コンストラクトを使用して、名前空間マネージャーに保存されている情報をループすることができ foreach ます。You can loop through the information saved in the namespace manager by using the foreach construct. たとえば、名前を指定して名前空間マネージャーを作成した場合は、 nsmanager を使用してテーブルを反復処理でき foreach (String prefix in nsmanager) ます。For example, if you create a namespace manager with the name nsmanager, you can iterate through the table by using foreach (String prefix in nsmanager).

名前空間マネージャーには、プレフィックスと名前空間をオブジェクトとして文字列比較する機能があるため、文字列を直接比較するのではなく名前空間マネージャーを使用することでパフォーマンスを向上できます。Because the namespace manager provides a string comparison with the prefix and namespaces as objects, there is a performance improvement when using the namespace manager over the direct comparison of a string.

次のコード例では、プレフィックスを xsd の名前空間 URI とバインド http://www.w3.org/2001/XMLSchema し、名前空間マネージャーに追加する方法を示します。The following code example shows how to bind the prefix xsd with the namespace URI of http://www.w3.org/2001/XMLSchema and add it to the namespace manager:

nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema")  
nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema");  

その後、メソッドを使用して名前空間を見つけることができ LookupNamespace ます。You can then find the namespace by using the LookupNamespace method:


次の例では、 XmlNamespaceManager XML リーダーから name テーブルを使用してを作成します。The following example creates an XmlNamespaceManager by using the name table from an XML reader:

Dim reader As New XmlTextReader("myfile.xml")  
Dim nsmanager As New XmlNamespaceManager(reader.NameTable)  
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books")  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store")  
While reader.Read()  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix)  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  
End While  
XmlTextReader reader = new XmlTextReader("myfile.xml");  
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);  
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");  
while (reader.Read())  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix);  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  



XmlNamespaceManager を指定して、XmlNameTable クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.



既定の名前空間の名前空間 URI を取得します。Gets the namespace URI for the default namespace.


このオブジェクトに関連付けられている XmlNameTable を取得します。Gets the XmlNameTable associated with this object.


AddNamespace(String, String)

指定した名前空間をコレクションに追加します。Adds the given namespace to the collection.


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

(継承元 Object)

XmlNamespaceManager 内の名前空間を反復処理するために使用する列挙子を返します。Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.


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

(継承元 Object)

現在スコープ内にある名前空間を列挙するために使用できる、プレフィックスをキーとした、名前空間の名前のコレクションを取得します。Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.


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

(継承元 Object)

提供されたプリフィックスに現在のプッシュされたスコープに対して定義された名前空間があるかどうかを示す値を取得します。Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.


指定したプリフィックスの名前空間 URI を取得します。Gets the namespace URI for the specified prefix.


指定した名前空間 URI に対して宣言されたプリフィックスを検索します。Finds the prefix declared for the given namespace URI.


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

(継承元 Object)

名前空間スコープをスタックからポップします。Pops a namespace scope off the stack.


名前空間スコープをスタックにプッシュします。Pushes a namespace scope onto the stack.

RemoveNamespace(String, String)

指定したプリフィックスの指定した名前空間を削除します。Removes the given namespace for the given prefix.


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

(継承元 Object)



IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.


指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.


クエリの並列化を有効にします。Enables parallelization of a query.


IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.