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
Задание области видимости пространства имен Методы PushScope и PopScope
Проверка того, определен ли префикс в текущей области Метод HasNamespace
Получение таблицы имен используется для поиска префиксов и URI СвойствоNameTable

Чтобы добавить пространства имен в диспетчер пространств имен, создайте XmlNamespaceManager объект и используйте AddNamespace метод. Пары «префикс-пространство имен» по умолчанию автоматически добавляются в диспетчер пространств имен в момент создания.

При создании диспетчера пространства имен можно указать таблицу имен из XmlReaderXsltContextкласса или XmlDocument класса, а затем использовать AddNamespace метод для добавления пространств имен.

Объект можно указать XmlNamespaceManager в качестве параметра классу SelectNodes или SelectSingleNode методу XmlDocument для выполнения выражений запроса XPath, ссылающихся на имена элементов и атрибутов с полным пространством имен.

Диспетчер пространств имен предполагает, что префиксы и пространства имен уже проверены и соответствуют спецификации пространств имен W3C . Диспетчер пространства имен не выполняет никаких проверок.

Диспетчер пространства имен атомизирует строки при добавлении с помощью AddNamespace метода и при выполнении поиска с помощью LookupNamespace метода или LookupPrefix метода.

Диспетчер пространств имен реализует поддержку перечисления в дополнение к добавлению и возврату пространств имен. Вы можете циклически просматривать сведения, сохраненные в диспетчере пространств имен, с помощью 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");  

В следующем примере создается XmlNamespaceManager таблица имен из средства чтения XML:

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.

Применяется к

См. также раздел