XmlWriter.WriteString(String) Metodo

Definizione

Quando ne viene eseguito l'override in una classe derivata, scrive il contenuto di testo specificato.

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)

Parametri

text
String

Testo da scrivere.

Eccezioni

La stringa di testo contiene una coppia di surrogati non valida.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Esempio

Nell'esempio seguente viene scritto un nodo 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

Commenti

WriteString effettua le operazioni seguenti:

  • I caratteri &, <e > vengono sostituiti rispettivamente con &amp;, &lt;e &gt;.

  • Il comportamento predefinito di un XmlWriter oggetto creato tramite Create consiste nel generare un'eccezione ArgumentException quando si tenta di scrivere valori di carattere nell'intervallo 0x-0x1F (esclusi gli spazi vuoti 0x9, 0xA e 0xD). Questi caratteri XML non validi possono essere scritti creando con la XmlWriterCheckCharacters proprietà impostata su false. In questo modo i caratteri verranno sostituiti con entità di caratteri numerici (� tramite �x1F). Inoltre, un XmlTextWriter oggetto creato con l'operatore new sostituirà i caratteri non validi con entità di caratteri numerici per impostazione predefinita.

Nota Microsoft non incoraggia la pratica di scrivere caratteri XML non validi perché molte applicazioni che utilizzano XML non sono progettate per gestire caratteri non validi.

  • Se WriteString viene chiamato nel contesto di un valore di attributo, le virgolette doppie e singole vengono sostituite rispettivamente con &quot; e &apos; .

Ad esempio, questa stringa test<item>test di input viene scritta come

test<item>test

Se text è null o String.Empty, questo metodo scrive un nodo di testo senza contenuto di dati.

Per la versione asincrona di questo metodo, vedere WriteStringAsync.

Si applica a