XmlTextWriter.WriteQualifiedName(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Grava o nome qualificado do namespace. Este método pesquisa o prefixo que está no escopo para o namespace fornecido.
public:
override void WriteQualifiedName(System::String ^ localName, System::String ^ ns);
public override void WriteQualifiedName (string localName, string? ns);
public override void WriteQualifiedName (string localName, string ns);
override this.WriteQualifiedName : string * string -> unit
Public Overrides Sub WriteQualifiedName (localName As String, ns As String)
Parâmetros
- localName
- String
O nome local a ser gravado.
- ns
- String
O URI do namespace para associar ao nome.
Exceções
localName
é null
ou String.Empty
.
localName
não é um nome válido de acordo com a especificação de Namespaces do W3C.
Exemplos
O exemplo a seguir grava uma parte de um esquema XSD.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextWriter^ writer = nullptr;
String^ filename = "sampledata.xml";
writer = gcnew XmlTextWriter( filename, nullptr );
// Use indenting for readability.
writer->Formatting = Formatting::Indented;
// Write the root element.
writer->WriteStartElement( "schema" );
// Write the namespace declarations.
writer->WriteAttributeString( "xmlns", nullptr, "http://www.w3.org/2001/XMLSchema" );
writer->WriteAttributeString( "xmlns", "po", nullptr, "http://contoso.com/po" );
writer->WriteStartElement( "element" );
writer->WriteAttributeString( "name", "purchaseOrder" );
// Write the type attribute.
writer->WriteStartAttribute( nullptr, "type", nullptr );
writer->WriteQualifiedName( "PurchaseOrder", "http://contoso.com/po" );
writer->WriteEndAttribute();
writer->WriteEndElement();
// Write the close tag for the root element.
writer->WriteEndElement();
// Write the XML to file and close the writer.
writer->Flush();
writer->Close();
// Read the file back in and parse to ensure well formed XML.
XmlDocument^ doc = gcnew XmlDocument;
// Preserve white space for readability.
doc->PreserveWhitespace = true;
// Load the file.
doc->Load( filename );
// Write the XML content to the console.
Console::Write( doc->InnerXml );
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
private const string filename = "sampledata.xml";
public static void Main()
{
XmlTextWriter writer = null;
writer = new XmlTextWriter (filename, null);
// Use indenting for readability.
writer.Formatting = Formatting.Indented;
// Write the root element.
writer.WriteStartElement("schema");
// Write the namespace declarations.
writer.WriteAttributeString("xmlns", null,"http://www.w3.org/2001/XMLSchema");
writer.WriteAttributeString("xmlns","po",null,"http://contoso.com/po");
writer.WriteStartElement("element");
writer.WriteAttributeString("name", "purchaseOrder");
// Write the type attribute.
writer.WriteStartAttribute(null,"type", null);
writer.WriteQualifiedName("PurchaseOrder", "http://contoso.com/po");
writer.WriteEndAttribute();
writer.WriteEndElement();
// Write the close tag for the root element.
writer.WriteEndElement();
// Write the XML to file and close the writer.
writer.Flush();
writer.Close();
// Read the file back in and parse to ensure well formed XML.
XmlDocument doc = new XmlDocument();
// Preserve white space for readability.
doc.PreserveWhitespace = true;
// Load the file.
doc.Load(filename);
// Write the XML content to the console.
Console.Write(doc.InnerXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Private Shared filename As String = "sampledata.xml"
Public Shared Sub Main()
Dim writer As XmlTextWriter = Nothing
writer = New XmlTextWriter(filename, Nothing)
' Use indenting for readability.
writer.Formatting = Formatting.Indented
' Write the root element.
writer.WriteStartElement("schema")
' Write the namespace declarations.
writer.WriteAttributeString("xmlns", Nothing, "http://www.w3.org/2001/XMLSchema")
writer.WriteAttributeString("xmlns", "po", Nothing, "http://contoso.com/po")
writer.WriteStartElement("element")
writer.WriteAttributeString("name", "purchaseOrder")
' Write the type attribute.
writer.WriteStartAttribute(Nothing, "type", Nothing)
writer.WriteQualifiedName("PurchaseOrder", "http://contoso.com/po")
writer.WriteEndAttribute()
writer.WriteEndElement()
' Write the close tag for the root element.
writer.WriteEndElement()
' Write the XML to file and close the writer.
writer.Flush()
writer.Close()
' Read the file back in and parse to ensure well formed XML.
Dim doc As New XmlDocument()
' Preserve white space for readability.
doc.PreserveWhitespace = True
' Load the file.
doc.Load(filename)
' Write the XML content to the console.
Console.Write(doc.InnerXml)
End Sub
End Class
Comentários
Observação
A partir do .NET Framework 2.0, recomendamos que você crie XmlWriter instâncias usando o XmlWriter.Create método e a XmlWriterSettings classe para aproveitar a nova funcionalidade.
Por exemplo, o seguinte código do Microsoft Visual C#:
writer.Formatting = Formatting.Indented;
writer.WriteStartElement("root");
writer.WriteAttributeString("xmlns","x",null,"urn:abc");
writer.WriteStartElement("item");
writer.WriteStartAttribute("href",null);
writer.WriteString("#");
writer.WriteQualifiedName("test","urn:abc");
writer.WriteEndAttribute();
writer.WriteEndElement();
writer.WriteEndElement();
writer.Close();
Isso gera a saída a seguir:
<root xmlns:x="urn:abc">
<item href="#x:test"/>
</root>
Se ns
for mapeado para o namespace padrão atual, nenhum prefixo será gerado.
Ao gravar valores de atributo, esse método gera um prefixo se ns
não for encontrado. Ao escrever o conteúdo do elemento, ele gerará uma exceção se ns
não for encontrado.
Se esse gravador der suporte a namespaces (Namespaces está definido como true
), esse método também verificará se o nome é válido de acordo com os Namespaces W3C na recomendação XML.