XmlNamespaceManager.LookupPrefix(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Находит префикс, объявленный для заданного URI пространства имен.
public:
virtual System::String ^ LookupPrefix(System::String ^ uri);
public virtual string LookupPrefix (string uri);
public virtual string? LookupPrefix (string uri);
abstract member LookupPrefix : string -> string
override this.LookupPrefix : string -> string
Public Overridable Function LookupPrefix (uri As String) As String
Параметры
- uri
- String
Пространство имен, которое необходимо разрешить для получения префикса.
Возвращаемое значение
Соответствующий префикс. Если нет сопоставленного префикса, данный метод возвращает String.Empty. Если предоставляется значение NULL, возвращается тоже значение null
.
Реализации
Примеры
В следующем примере показано, как использовать LookupPrefix метод при написании атрибута. Он использует XmlWriter.WriteStartAttribute метод для запуска атрибута, ищет префикс для urn:samples
URI пространства имен, а затем использует этот префикс при XmlWriter.WriteStartAttribute записи атрибута ISBN
:
Dim prefix As String = nsMgr.LookupPrefix("urn:samples")
writer.WriteStartAttribute(prefix, "ISBN", "urn:samples")
XmlNameTable nt = new XmlNameTable();
XmlNamespaceManager nsMgr = new XmlNamespaceManager(nt);
nsMgr.AddNamespace("bk","urn:samples");string prefix = writer nsMgr.LookupPrefix("urn:samples");
writer.WriteStartAttribute(prefix, "ISBN", "urn:samples");
В следующем примере используется LookupPrefix для поиска префикса, определенного в элементе.
writer.WriteStartElement("root", "book")
writer.WriteStartElement("x", "node", "author")
s = writer.LookupPrefix("author")
CError.Compare(s, "x", "Error in nested element")
writer.WriteEndElement()
s = writer.LookupPrefix("book")
CError.Compare(s, Nothing, "Error in root element")
writer.WriteEndElement()
Выходные данные
<root xmlns="book">
<x:node xmlns:x="author" />
</root>
Комментарии
Этот метод находит сопоставленный префикс, проходя по стеку (то есть он выглядит глобально). Для успешного поиска указанная строка должна быть атомизирована. Другими словами, указанный строковый объект должен существовать в таблице имен диспетчера имен (NameTable).
Возвращаемая строка также атомизирована. Дополнительные сведения об атомизированных строках см. в описании класса XmlNameTable.