XmlWriter.LookupPrefix Method
When overridden in a derived class, returns the closest prefix defined in the current namespace scope for the namespace URI.
Namespace: System.Xml
Assembly: System.Xml (in System.Xml.dll)
Parameters
- ns
- Type: System.String
The namespace URI whose prefix you want to find.
Return Value
Type: System.StringThe matching prefix or null if no matching namespace URI is found in the current scope.
| Exception | Condition |
|---|---|
| ArgumentException | ns is either null or String.Empty. |
| InvalidOperationException | An XmlWriter method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message “An asynchronous operation is already in progress.” |
The following example writes out a book.
using System; using System.IO; using System.Xml; public class Sample { private const string m_Document = "sampledata.xml"; public static void Main() { XmlWriter writer = null; try { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; writer = XmlWriter.Create (m_Document, settings); writer.WriteComment("sample XML fragment"); // Write an element (this one is the root). writer.WriteStartElement("book"); // Write the namespace declaration. writer.WriteAttributeString("xmlns", "bk", null, "urn:samples"); // Write the genre attribute. writer.WriteAttributeString("genre", "novel"); // Write the title. writer.WriteStartElement("title"); writer.WriteString("The Handmaid's Tale"); writer.WriteEndElement(); // Write the price. writer.WriteElementString("price", "19.95"); // Lookup the prefix and write the ISBN element. string prefix = writer.LookupPrefix("urn:samples"); writer.WriteStartElement(prefix, "ISBN", "urn:samples"); writer.WriteString("1-861003-78"); writer.WriteEndElement(); // Write the style element (shows a different way to handle prefixes). writer.WriteElementString("style", "urn:samples", "hardcover"); // Write the close tag for the root element. writer.WriteEndElement(); // Write the XML to file and close the writer. writer.Flush(); writer.Close(); } finally { if (writer != null) writer.Close(); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.