Udostępnij za pośrednictwem


XmlWriter.WriteString(String) Metoda

Definicja

Podczas zastępowania w klasie pochodnej zapisuje daną zawartość tekstową.

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)

Parametry

text
String

Tekst do zapisania.

Wyjątki

Ciąg tekstowy zawiera nieprawidłową parę zastępczą.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Przykłady

Poniższy przykład zapisuje węzeł 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

Uwagi

WriteString wykonuje następujące czynności:

  • &Znaki , <i > są zastępowane odpowiednio znakami &amp;, &lt;i &gt;.

  • Domyślne zachowanie utworzonego XmlWriter przy użyciu Create polega na wyrzuceniu ArgumentException wartości znaków w zakresie 0x-0x1F (z wyłączeniem białych znaków 0x9, 0xA i 0xD). Te nieprawidłowe znaki XML można zapisać, tworząc element XmlWriter z właściwością ustawioną CheckCharacters na falsewartość . Spowoduje to zastąpienie znaków jednostkami znaków liczbowych (� do �x1F). XmlTextWriter Ponadto utworzony za pomocą new operatora zastąpi nieprawidłowe znaki domyślnie jednostkami znaków liczbowych.

Uwaga Firma Microsoft nie zachęca do pisania nieprawidłowych znaków XML, ponieważ wiele aplikacji korzystających z kodu XML nie jest przeznaczonych do obsługi nieprawidłowych znaków.

  • Jeśli WriteString jest wywoływana w kontekście wartości atrybutu, cudzysłowy podwójne i pojedyncze są zastępowane odpowiednio i &quot;&apos; .

Na przykład ten ciąg test<item>test wejściowy jest zapisywany jako

test<item>test

Jeśli text ma wartość null lub String.Empty, ta metoda zapisuje węzeł tekstowy bez zawartości danych.

Aby uzyskać asynchroniczną wersję tej metody, zobacz WriteStringAsync.

Dotyczy