XmlWriter.WriteValue Метод

Определение

Записывает отдельное значение простого типа.

Перегрузки

WriteValue(Single)

Записывает число с плавающей запятой одиночной точности.

WriteValue(Object)

Записывает значение объекта.

WriteValue(Int64)

Записывает значение Int64.

WriteValue(Int32)

Записывает значение Int32.

WriteValue(Double)

Записывает значение Double.

WriteValue(String)

Записывает значение String.

WriteValue(DateTimeOffset)

Записывает значение DateTimeOffset.

WriteValue(DateTime)

Записывает значение DateTime.

WriteValue(Boolean)

Записывает значение Boolean.

WriteValue(Decimal)

Записывает значение Decimal.

Комментарии

Метод WriteValue принимает простые типизированные значения среды CLR, преобразует их в строковые представления в соответствии с правилами преобразования типов данных XSD и записывает их с помощью WriteString метода. Это позволяет конвейерировать простые значения с минимальными затратами на повторную обработку при передаче данных между XPathDocumentXmlReaderобъектами и XmlWriter объектами. Эта возможность также полезна при работе с простыми типами СРЕДЫ CLR и экземпляром XmlWriter . Метод можно вызвать WriteValue для записи типизированного значения вместо использования методов в классе для преобразования типизированных данных в XmlConvert строковое значение перед его записью.

Для асинхронных операций преобразуйте возвращаемое значение WriteValue в строку и используйте WriteStringAsync метод.

В следующей таблице показаны типы данных XSD по умолчанию, соответствующие типам CLR.

Если объект CLR принадлежит к типу списка, например IEnumerable, IList или ICollection, то он обрабатывается как массив типа значения.

Тип CLR Тип данных XSD по умолчанию
System.Boolean xsd:boolean
System.Byte** xsd:integer
Массив System.Byte xsd:base64Binary
System.Char** xsd:string
System.DateTime xsd:dateTime
System.Decimal xsd:decimal
System.Double xsd:double
System.Int16** xsd:integer
System.Int32 xsd:integer
System.Int64 xsd:integer
System.Single xsd:float
System.String xsd:string
System.IO.TextReader xsd:string
System.IO.BinaryReader xsd:base64Binary

**Эти типы не совместимы с CLS. У них нет соответствующих WriteValue методов.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue.

WriteValue(Single)

Записывает число с плавающей запятой одиночной точности.

public:
 virtual void WriteValue(float value);
public virtual void WriteValue (float value);
abstract member WriteValue : single -> unit
override this.WriteValue : single -> unit
Public Overridable Sub WriteValue (value As Single)

Параметры

value
Single

Число с плавающей запятой одиночной точности для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый выходной тип с помощью правил преобразования типов данных языка определения СХЕМЫ XML (XSD).

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) для записи массива различных значений.

Если этот метод вызывается в экземпляре XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Object)

Записывает значение объекта.

public:
 virtual void WriteValue(System::Object ^ value);
public virtual void WriteValue (object value);
abstract member WriteValue : obj -> unit
override this.WriteValue : obj -> unit
Public Overridable Sub WriteValue (value As Object)

Параметры

value
Object

Значение объекта для записи.

Примечание. С выпуском платформы .NET Framework 3.5 этот метод принимает DateTimeOffset в качестве параметра.

Исключения

Указано недопустимое значение.

Значение параметра valuenull.

Средство записи закрыто или находится в состоянии ошибки.

-или-

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в нужный тип вывода с помощью правил преобразования типов данных XSD.

Если объект CLR является типом списка, таким как IEnumerable, IListили ICollection, он рассматривается как массив типа значения. Значение XmlWriter преобразуется в строковые представления в соответствии с правилами типа данных схемы XML (XSD) и записывает его с помощью WriteString метода.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Int64)

Записывает значение Int64.

public:
 virtual void WriteValue(long value);
public virtual void WriteValue (long value);
abstract member WriteValue : int64 -> unit
override this.WriteValue : int64 -> unit
Public Overridable Sub WriteValue (value As Long)

Параметры

value
Int64

Значение Int64 для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Int32)

Записывает значение Int32.

public:
 virtual void WriteValue(int value);
public virtual void WriteValue (int value);
abstract member WriteValue : int -> unit
override this.WriteValue : int -> unit
Public Overridable Sub WriteValue (value As Integer)

Параметры

value
Int32

Значение Int32 для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Double)

Записывает значение Double.

public:
 virtual void WriteValue(double value);
public virtual void WriteValue (double value);
abstract member WriteValue : double -> unit
override this.WriteValue : double -> unit
Public Overridable Sub WriteValue (value As Double)

Параметры

value
Double

Значение Double для записи.

Исключения

Указано недопустимое значение.

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

Примеры

В следующем примере выполняется запись узла книги с использованием типизированных данных.

Double price = 9.95;
DateTime date = new DateTime(2004, 5, 20);

using (XmlWriter writer = XmlWriter.Create("data.xml"))
{
    writer.WriteStartElement("book");
    writer.WriteStartAttribute("pub-date");
    writer.WriteValue(date);
    writer.WriteEndAttribute();

    writer.WriteStartElement("price");
    writer.WriteValue(price);
    writer.WriteEndElement();

    writer.WriteEndElement();
    writer.Flush();
}
Dim price As [Double] = 9.95
Dim [date] As New DateTime(2004, 5, 20)
        
Using writer As XmlWriter = XmlWriter.Create("data.xml")
  writer.WriteStartElement("book")
  writer.WriteStartAttribute("pub-date")
  writer.WriteValue([date])
  writer.WriteEndAttribute()
            
  writer.WriteStartElement("price")
  writer.WriteValue(price)
  writer.WriteEndElement()
            
  writer.WriteEndElement()
  writer.Flush()
End Using

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(String)

Записывает значение String.

public:
 virtual void WriteValue(System::String ^ value);
public virtual void WriteValue (string value);
public virtual void WriteValue (string? value);
abstract member WriteValue : string -> unit
override this.WriteValue : string -> unit
Public Overridable Sub WriteValue (value As String)

Параметры

value
String

Значение String для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый выходной тип с помощью правил преобразования типов данных языка определения СХЕМЫ XML (XSD).

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) для записи массива различных значений.

Если этот метод вызывается в экземпляре XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций используйте WriteStringAsync метод.

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

WriteValue(DateTimeOffset)

Записывает значение DateTimeOffset.

public:
 virtual void WriteValue(DateTimeOffset value);
public virtual void WriteValue (DateTimeOffset value);
abstract member WriteValue : DateTimeOffset -> unit
override this.WriteValue : DateTimeOffset -> unit
Public Overridable Sub WriteValue (value As DateTimeOffset)

Параметры

value
DateTimeOffset

Значение DateTimeOffset для записи.

Исключения

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

Комментарии

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(DateTime)

Записывает значение DateTime.

public:
 virtual void WriteValue(DateTime value);
public virtual void WriteValue (DateTime value);
abstract member WriteValue : DateTime -> unit
override this.WriteValue : DateTime -> unit
Public Overridable Sub WriteValue (value As DateTime)

Параметры

value
DateTime

Значение DateTime для записи.

Исключения

Указано недопустимое значение.

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

Примеры

В следующем примере выполняется запись узла книги с использованием типизированных данных.

Double price = 9.95;
DateTime date = new DateTime(2004, 5, 20);

using (XmlWriter writer = XmlWriter.Create("data.xml"))
{
    writer.WriteStartElement("book");
    writer.WriteStartAttribute("pub-date");
    writer.WriteValue(date);
    writer.WriteEndAttribute();

    writer.WriteStartElement("price");
    writer.WriteValue(price);
    writer.WriteEndElement();

    writer.WriteEndElement();
    writer.Flush();
}
Dim price As [Double] = 9.95
Dim [date] As New DateTime(2004, 5, 20)
        
Using writer As XmlWriter = XmlWriter.Create("data.xml")
  writer.WriteStartElement("book")
  writer.WriteStartAttribute("pub-date")
  writer.WriteValue([date])
  writer.WriteEndAttribute()
            
  writer.WriteStartElement("price")
  writer.WriteValue(price)
  writer.WriteEndElement()
            
  writer.WriteEndElement()
  writer.Flush()
End Using

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Boolean)

Записывает значение Boolean.

public:
 virtual void WriteValue(bool value);
public virtual void WriteValue (bool value);
abstract member WriteValue : bool -> unit
override this.WriteValue : bool -> unit
Public Overridable Sub WriteValue (value As Boolean)

Параметры

value
Boolean

Значение Boolean для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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

WriteValue(Decimal)

Записывает значение Decimal.

public:
 virtual void WriteValue(System::Decimal value);
public virtual void WriteValue (decimal value);
abstract member WriteValue : decimal -> unit
override this.WriteValue : decimal -> unit
Public Overridable Sub WriteValue (value As Decimal)

Параметры

value
Decimal

Значение Decimal для записи.

Исключения

Указано недопустимое значение.

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

Комментарии

Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.

При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.

Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.

Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.

Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.

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