다음을 통해 공유


XmlNamespaceManager 클래스

정의

컬렉션에 대한 네임스페이스를 확인, 추가 및 제거하고 이 네임스페이스에 대한 범위 관리를 제공합니다.

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
상속
XmlNamespaceManager
파생
구현

설명

XML 문서에서 네임스페이스를 선언하고 사용하는 방법에 대한 일반적인 내용은 XML 문서에서 네임스페이스 관리를 참조하세요.

XmlNamespaceManager 는 접두사 및 네임스페이스를 문자열로 저장합니다. 다음은 이 클래스를 사용하여 수행할 수 있는 관리 및 조회 작업에 대한 요약입니다. 자세한 내용 및 예제는 각 메서드 또는 속성의 참조 페이지에 대한 링크를 참조하세요.

대상 기능
네임스페이스 추가 AddNamespace 메서드
네임스페이스 제거 RemoveNamespace 메서드
기본 네임스페이스에 대한 URI 찾기 DefaultNamespace 속성
네임스페이스 접두사에 대한 URI 찾기 LookupNamespace 메서드
네임스페이스 URI에 대한 접두사 찾기 LookupPrefix 메서드
현재 노드의 네임스페이스 목록 가져오기 GetNamespacesInScope 메서드
네임스페이스 범위 지정 PushScopePopScope 메서드
접두사가 현재 범위에서 정의되어 있는지 확인 HasNamespace 메서드
접두사와 URI를 찾는 데 사용된 이름 테이블 가져오기 NameTable 속성

네임스페이스를 네임스페이스 관리자에 추가하려면 개체를 XmlNamespaceManager 만든 다음 메서드를 AddNamespace 사용합니다. 기본 접두사 및 네임스페이스 쌍은 만들 때 네임스페이스 관리자에 자동으로 추가됩니다.

네임스페이스 관리자를 만들 때 , XsltContext또는 XmlDocument 클래스에서 XmlReader이름 테이블을 지정한 다음 메서드를 AddNamespace 사용하여 네임스페이스를 추가할 수 있습니다.

네임스페이 XmlNamespaceManager 스 정규화된 요소 및 특성 이름을 참조하는 SelectNodes XPath 쿼리 식을 실행하기 위해 클래스의 XmlDocument 메서드 또는 SelectSingleNode 매개 변수로 개체를 제공할 수 있습니다.

네임스페이스 관리자는 접두사 및 네임스페이스가 이미 확인되었으며 W3C 네임스페이스 사양을 준수한다고 가정합니다. 네임스페이스 관리자는 유효성 검사를 수행하지 않습니다.

네임스페이스 관리자는 메서드를 사용하여 문자열을 추가할 때와 메서드를 LookupPrefix 사용하여 AddNamespace 조회를 수행할 때 문자열을 LookupNamespace 원자화합니다.

네임스페이스 관리자는 네임스페이스를 추가하고 검색하는 것 외에도 열거형 지원을 구현합니다. 구문을 사용하여 네임스페이스 관리자에 저장된 정보를 반복할 foreach 수 있습니다. 예를 들어 이름을 nsmanager사용하여 네임스페이스 관리자를 만드는 경우 .foreach (String prefix in nsmanager)

네임스페이스 관리자는 접두사 및 네임스페이스를 개체로 사용하여 문자열 비교를 제공하므로 문자열의 직접 비교를 통해 네임스페이스 관리자를 사용할 때 성능이 향상됩니다.

다음 코드 예제에서는 접두사에 네임스페이스 xsd URI http://www.w3.org/2001/XMLSchema 를 바인딩하고 네임스페이스 관리자에 추가하는 방법을 보여줍니다.

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

그런 다음, 메서드를 사용하여 네임스페이스를 찾을 수 있습니다.LookupNamespace

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

다음 예제에서는 XML 판독기 XmlNamespaceManager 에서 이름 테이블을 사용하여 만듭니다.

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 클래스의 새 인스턴스를 초기화합니다.

속성

DefaultNamespace

기본 네임스페이스의 네임스페이스 URI를 가져옵니다.

NameTable

이 개체와 연결된 XmlNameTable을 가져옵니다.

메서드

AddNamespace(String, String)

지정된 네임스페이스를 컬렉션에 추가합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetEnumerator()

XmlNamespaceManager에서 네임스페이스를 반복하는 데 사용할 열거자를 반환합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetNamespacesInScope(XmlNamespaceScope)

현재 범위 내에 있는 네임스페이스를 열거하는 데 사용할 수 있는 접두사가 붙은 네임스페이스 이름 컬렉션을 가져옵니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HasNamespace(String)

제공한 접두사에 현재 푸시된 범위에 정의한 네임스페이스가 있는지 여부를 나타내는 값을 가져옵니다.

LookupNamespace(String)

지정된 접두사의 네임스페이스 URI를 가져옵니다.

LookupPrefix(String)

지정된 네임스페이스 URI에 대해 선언한 접두사를 찾습니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
PopScope()

스택에서 네임스페이스 범위를 팝합니다.

PushScope()

스택에 네임스페이스 범위를 푸시합니다.

RemoveNamespace(String, String)

지정된 접두사의 지정된 네임스페이스를 제거합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.

적용 대상

추가 정보