Поделиться через


XmlWriter.WriteString(String) Метод

Определение

Записывает заданное текстовое содержимое при переопределении в производном классе.

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)

Параметры

text
String

Текст для записи.

Исключения

Строка текста содержит недопустимую пару символов-заместителей.

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

Примеры

В следующем примере выполняется запись УЗЛА 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

Комментарии

Метод WriteString выполняет следующие действия.

  • Символы &, <и > заменяются &amp;на , &lt;и &gt;соответственно.

  • По умолчанию XmlWriter при создании с помощью Create создается ArgumentException исключение при попытке записать символьные значения в диапазоне от 0x до 0x1F (за исключением пробелов, 0x9, 0xA и 0xD). Эти недопустимые XML-символы можно записать путем создания XmlWriter с свойством CheckCharacters , для свойства , заданного в falseзначение . Это приведет к замене символов на сущности числовых символов (� по �x1F). Кроме того, созданный XmlTextWriter с помощью оператора по умолчанию new заменит недопустимые символы на сущности числовых символов.

Примечание Корпорация Майкрософт не рекомендует создавать недопустимые XML-символы, так как многие приложения, использующие XML, не предназначены для обработки недопустимых символов.

  • Если WriteString вызывается в контексте значения атрибута, двойные и одинарные кавычки заменяются &quot; на и &apos; соответственно.

Например, эта входная строка test<item>test записывается как

test<item>test

Если text имеет значение null или String.Empty, этот метод записывает текстовый узел без содержимого данных.

Асинхронную версию этого метода см. в разделе WriteStringAsync.

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