XmlNamespaceManager.LookupPrefix(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
查找为给定的命名空间 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
。
实现
示例
以下示例演示如何在编写属性时使用 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 类。