XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager Class

定義

名前空間を解決し、コレクションに追加および削除して、これらの名前空間に対するスコープ管理を提供します。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 class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
継承
XmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManager
派生
実装

注釈

名前空間の宣言し、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.

名前テーブルを指定するには、名前空間マネージャーを作成するときに、 XmlReaderXsltContext、または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:

nsmgr.LookupNamespace("xsd")  
nsmgr.LookupNamespace("xsd");  

次の例では、作成、 XmlNamespaceManager XML リーダーから名前のテーブルを使用しています。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.PushScope()  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store")  
While reader.Read()  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix)  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  
     nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)))  
End While  
XmlTextReader reader = new XmlTextReader("myfile.xml");  
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);  
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");  
nsmanager.PushScope();  
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");  
while (reader.Read())  
{  
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix);  
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",  
    nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)));  
}  

コンストラクター

XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable)

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

プロパティ

DefaultNamespace DefaultNamespace DefaultNamespace DefaultNamespace

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

NameTable NameTable NameTable NameTable

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

メソッド

AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String)

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope)

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

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
HasNamespace(String) HasNamespace(String) HasNamespace(String) HasNamespace(String)

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

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

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

LookupPrefix(String) LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

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

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
PopScope() PopScope() PopScope() PopScope()

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

PushScope() PushScope() PushScope() PushScope()

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

RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

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

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

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

適用対象

こちらもご覧ください