XmlTextWriter.WriteQualifiedName(String, String) Метод

Определение

Записывает полное имя пространства имен. Этот метод выполняет поиск префикса для пространства имен в его области.

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)

Параметры

localName
String

Локальное имя для записи.

ns
String

URI пространства имен, который связывается с именем.

Исключения

localName имеет значение null или String.Empty.

localName не является допустимым именем в соответствии со спецификацией пространств имен W3C.

Примеры

В следующем примере записывается часть схемы 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

Комментарии

Примечание

Начиная с версии платформа .NET Framework 2.0 рекомендуется создавать XmlWriter экземпляры с помощью XmlWriter.Create метода и XmlWriterSettings класса, чтобы воспользоваться преимуществами новых функциональных возможностей.

Например, следующий код 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();  

Будут получены следующие выходные данные:

<root xmlns:x="urn:abc">  
 <item href="#x:test"/>  
 </root>  

Если ns сопоставляется с текущим пространством имен по умолчанию, префикс не создается.

При записи значений атрибутов этот метод создает префикс, если ns он не найден. При записи содержимого элемента создается исключение, если ns оно не найдено.

Если этот модуль записи поддерживает пространства имен (Namespaces задано значение ), trueэтот метод также проверяет, является ли имя допустимым в соответствии с пространствами имен W3C в рекомендации XML.

Применяется к