XmlNamespaceManager 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에 대한 네임스페이스를 확인, 추가 및 제거하고 이 네임스페이스에 대한 범위 관리를 제공합니다.
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 메서드 |
네임스페이스 범위 지정 | PushScope 및 PopScope 메서드 |
접두사가 현재 범위에서 정의되어 있는지 확인 | 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) |
IEnumerable을 IQueryable로 변환합니다. |