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 PushScopePopScope 메서드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:

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.

적용 대상

추가 정보