Sdílet prostřednictvím


XmlWriter.WriteString(String) Metoda

Definice

Při přepsání v odvozené třídě zapíše daný textový obsah.

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

Text, který se má napsat.

Výjimky

Textový řetězec obsahuje neplatný náhradní pár.

Před XmlWriter dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Příklady

Následující příklad zapíše uzel 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

Poznámky

WriteString provede následující:

  • Znaky &, <a > se nahradí znaky &amp;, &lt;a , v &gt;uvedeném pořadí.

  • Výchozí chování vytvořené Create pomocí je vyvolání při ArgumentException pokusu o zápis hodnot znaků v rozsahu 0x-0x1F (s výjimkou prázdných XmlWriter znaků 0x9, 0xA a 0xD). Tyto neplatné znaky XML lze zapsat vytvořením XmlWriter vlastnosti s nastavenou CheckCharacters na false. Pokud to uděláte, nahradí se znaky entitami číselného znaku (� až �x1F). Kromě toho XmlTextWriter operátor vytvořený pomocí operátoru new ve výchozím nastavení nahradí neplatné znaky entitami číselného znaku.

Poznámka Společnost Microsoft nepodporuje zápis neplatných znaků XML, protože mnoho aplikací, které využívají XML, není navržených tak, aby zpracovávaly neplatné znaky.

  • Pokud WriteString je volána v kontextu hodnoty atributu, dvojité a jednoduché uvozovky jsou nahrazeny &quot; a &apos; v uvedeném pořadí.

Například tento vstupní řetězec test<item>test je zapsán jako

test<item>test

Pokud text je nebo nullString.Empty, tato metoda zapíše textový uzel bez datového obsahu.

Asynchronní verzi této metody najdete v tématu WriteStringAsync.

Platí pro