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

匹配的前缀。 如果没有映射的前缀,则方法返回 String.Empty。 如果提供空值,则返回 null

实现

示例

以下示例演示如何在编写属性时使用 LookupPrefix 该方法。 它使用该方法XmlWriter.WriteStartAttribute启动属性,查找命名空间 URI 的urn:samples前缀,然后在编写ISBN属性时使用该前缀XmlWriter.WriteStartAttribute

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 类。

适用于

另请参阅