Partilhar via


XmlWriter.WriteString(String) Método

Definição

Quando substituído em uma classe derivada, grava o conteúdo de texto especificado.

public:
 abstract void WriteString(System::String ^ text);
public abstract void WriteString (string text);
public abstract void WriteString (string? text);
abstract member WriteString : string -> unit
Public MustOverride Sub WriteString (text As String)

Parâmetros

text
String

O texto a gravação.

Exceções

A cadeia de caracteres contém um par alternativo inválido.

Um método XmlWriter foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Exemplos

O exemplo a seguir grava um nó XML.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create a writer to write XML to the console.
   XmlWriterSettings^ settings = gcnew XmlWriterSettings;
   settings->Indent = true;
   settings->OmitXmlDeclaration = true;
   XmlWriter^ writer = XmlWriter::Create( Console::Out, settings );
   
   // Write the book element.
   writer->WriteStartElement( L"book" );
   
   // Write the title element.
   writer->WriteStartElement( L"title" );
   writer->WriteString( L"Pride And Prejudice" );
   writer->WriteEndElement();
   
   // Write the close tag for the root element.
   writer->WriteEndElement();
   
   // Write the XML and close the writer.
   writer->Close();
   return 1;
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

     // Create a writer to write XML to the console.
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.Indent = true;
     settings.OmitXmlDeclaration = true;
     XmlWriter writer = XmlWriter.Create(Console.Out, settings);

     // Write the book element.
     writer.WriteStartElement("book");

     // Write the title element.
     writer.WriteStartElement("title");
     writer.WriteString("Pride And Prejudice");
     writer.WriteEndElement();

     // Write the close tag for the root element.
     writer.WriteEndElement();

     // Write the XML and close the writer.
     writer.Close();
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
  Public Shared Sub Main()

     ' Create a writer to write XML to the console.
     Dim settings As XmlWriterSettings = new XmlWriterSettings()
     settings.Indent = true
     settings.OmitXmlDeclaration = true
     Dim writer As XmlWriter = XmlWriter.Create(Console.Out, settings)

     ' Write the book element.
     writer.WriteStartElement("book")
        
     ' Write the title element.
     writer.WriteStartElement("title")
     writer.WriteString("Pride And Prejudice")
     writer.WriteEndElement()
        
     ' Write the close tag for the root element.
     writer.WriteEndElement()
        
     ' Write the XML and close the writer.
     writer.Close()

  End Sub
End Class

Comentários

WriteString faz o seguinte:

  • Os caracteres &, <e > são substituídos por &amp;, &lt;e &gt;, respectivamente.

  • O comportamento padrão de um XmlWriter criado usando Create é gerar um ArgumentException ao tentar gravar valores de caractere no intervalo de 0x-0x1F (excluindo caracteres de espaço em branco 0x9, 0xA e 0xD). Esses caracteres XML inválidos podem ser gravados criando o XmlWriter com a CheckCharacters propriedade definida falsecomo . Isso fará com que os caracteres sejam substituídos por entidades de caractere numérico (� por meio de �x1F). Além disso, um XmlTextWriter criado com o new operador substituirá os caracteres inválidos por entidades de caractere numérico por padrão.

Nota A Microsoft não incentiva a prática de gravar caracteres XML inválidos, pois muitos aplicativos que consomem XML não foram projetados para lidar com caracteres inválidos.

  • Se WriteString for chamado no contexto de um valor de atributo, as aspas duplas e simples serão substituídas &quot; por e &apos; respectivamente.

Por exemplo, essa cadeia de caracteres de test<item>test entrada é gravada como

test<item>test

Se text for null ou String.Empty, esse método gravará um nó de texto sem conteúdo de dados.

Para obter a versão assíncrona desse método, consulte WriteStringAsync.

Aplica-se a