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 Метод AddNamespaceAddNamespace method
Удаление пространства именRemove a namespace Метод RemoveNamespaceRemoveNamespace method
Поиск URI для пространства имен по умолчаниюFind the URI for the default namespace СвойствоDefaultNamespaceDefaultNamespace property
Поиск URI для префикса пространства именFind the URI for a namespace prefix Метод LookupNamespaceLookupNamespace method
Поиск префикса для URI-кодов пространства именFind the prefix for a namespace URI Метод LookupPrefixLookupPrefix method
Получение списка пространств имен, которые есть на текущем узлеGet a list of namespaces in the current node Метод GetNamespacesInScopeGetNamespacesInScope method
Задание области видимости пространства именScope a namespace Методы PushScope и PopScopePushScope and PopScope methods
Проверка того, определен ли префикс в текущей областиCheck whether a prefix is defined in the current scope Метод HasNamespaceHasNamespace method
Получение таблицы имен используется для поиска префиксов и URIGet the name table used to look up prefixes and URIs СвойствоNameTableNameTable 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.

При создании пространства имен manager, можно указать имя таблицы из 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. Например, если вы создаете пространство имен manager с именем 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)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

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

Дополнительно