XmlNamespaceManager.LookupPrefix(String) メソッド

定義

指定した名前空間 URI に対して宣言されたプリフィックスを検索します。Finds the prefix declared for the given namespace URI.

public:
 virtual System::String ^ LookupPrefix(System::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

プリフィックスに対して解決する名前空間。The namespace to resolve for the prefix.

戻り値

一致するプリフィックス。The matching prefix. 割り当てられたプリフィックスがない場合、メソッドは String.Empty を返します。If there is no mapped prefix, the method returns String.Empty. null 値を指定した場合、null が返されます。If a null value is supplied, then null is returned.

実装

次の例は、属性を書き込むLookupPrefixときにメソッドを使用する方法を示しています。The following example shows how to use the LookupPrefix method when writing an attribute. XmlWriter.WriteStartAttributeメソッドを使用して属性を開始し、 urn:samples名前空間 URI のプレフィックスを検索して、 ISBN属性を書き込むXmlWriter.WriteStartAttributeときにでそのプレフィックスを使用します。It uses the XmlWriter.WriteStartAttribute method to start the attribute, looks up the prefix for the urn:samples namespace URI, and then uses that prefix in the XmlWriter.WriteStartAttribute when writing the ISBN attribute:

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は、を使用して、要素で定義されているプレフィックスを検索します。The following example uses LookupPrefix to find the prefix defined on an element.

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()  
  

出力Output

<root xmlns="book">  
  <x:node xmlns:x="author" />   
</root>  

注釈

このメソッドは、スタックをウォークすることによって、割り当てられたプレフィックスを検索します (つまり、グローバルに見えます)。This method finds the mapped prefix by walking the stack (that is, it looks globally). 検索を成功させるには、指定された文字列を最小にする必要があります。The supplied string must be atomized for the lookup to succeed. 言い換えると、指定された string オブジェクトは、名前空間マネージャーの name テーブル (NameTable) に存在している必要があります。In other words, the supplied string object must exist in the namespace manager's name table (NameTable).

返される文字列も最小化されます。The returned string is also atomized. 最小単位に分割された文字列の詳細については、XmlNameTable クラスを参照してください。For more information on atomized strings, see the XmlNameTable class.

適用対象

こちらもご覧ください