XmlNamespaceManager Class

Definition

컬렉션에 대한 네임스페이스를 확인, 추가 및 제거하고 이 네임스페이스에 대한 범위 관리를 제공합니다.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
Inheritance
XmlNamespaceManager
Derived
Implements

Remarks

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.

XmlDocument 클래스의 SelectNodes 또는 SelectSingleNode 메서드에 XmlNamespaceManager 개체를 매개 변수로 제공 하 여 네임 스페이스로 한정 된 요소 및 특성 이름을 참조 하는 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.

다음 코드 예제에서는 http://www.w3.org/2001/XMLSchema의 네임 스페이스 URI를 사용 하 여 xsd 접두사를 바인딩하고 네임 스페이스 관리자에 추가 하는 방법을 보여 줍니다.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");  

다음 예에서는 XML 판독기에서 이름 테이블을 사용 하 여 XmlNamespaceManager를 만듭니다.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)));  
}  

Constructors

XmlNamespaceManager(XmlNameTable)

지정된 XmlNamespaceManagerXmlNameTable 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Properties

DefaultNamespace

기본 네임스페이스의 네임스페이스 URI를 가져옵니다.Gets the namespace URI for the default namespace.

NameTable

이 개체와 연결된 XmlNameTable을 가져옵니다.Gets the XmlNameTable associated with this object.

Methods

AddNamespace(String, String)

지정된 네임스페이스를 컬렉션에 추가합니다.Adds the given namespace to the collection.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator()

XmlNamespaceManager에서 네임스페이스를 반복하는 데 사용할 열거자를 반환합니다.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope)

현재 범위 내에 있는 네임스페이스를 열거하는 데 사용할 수 있는 접두사가 붙은 네임스페이스 이름 컬렉션을 가져옵니다.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
HasNamespace(String)

제공한 접두사에 현재 푸시된 범위에 정의한 네임스페이스가 있는지를 나타내는 값을 가져옵니다.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String)

지정된 접두사의 네임스페이스 URI를 가져옵니다.Gets the namespace URI for the specified prefix.

LookupPrefix(String)

지정된 네임스페이스 URI에 대해 선언한 접두사를 찾습니다.Finds the prefix declared for the given namespace URI.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
PopScope()

스택에서 네임스페이스 범위를 팝합니다.Pops a namespace scope off the stack.

PushScope()

스택에 네임스페이스 범위를 푸시합니다.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String)

지정된 접두사의 지정된 네임스페이스를 제거합니다.Removes the given namespace for the given prefix.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

Extension Methods

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

Applies to

See also