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 в качестве параметра.
Исключения
Указано недопустимое значение.
Значение параметра value
— null
.
Средство записи закрыто или находится в состоянии ошибки.
-или-
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод 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)
Параметры
Исключения
Указано недопустимое значение.
Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".
Комментарии
Этот метод принимает объект среды CLR и преобразует входное значение в требуемый тип выходных данных с помощью правил преобразования типов данных XSD.
При вызове метода WriteValue XmlWriter преобразует значение в строковое представление в соответствии с правилами типа данных XSD и записывает его с помощью метода WriteString.
Если WriteValue вызывается несколько раз подряд, то значения не разделяются пробелом. Для вставки пробела необходимо вызывать метод WriteWhitespace между вызовами WriteValue. Передайте тип массива перегрузке XmlWriter.WriteValue(Object) , чтобы записать массив различных значений.
Если этот метод вызывается для экземпляра XmlWriter , который выводит только текст, типизированное значение сериализуется в текст.
Для асинхронных операций преобразуйте возвращаемое значение этого метода в строку и используйте WriteStringAsync метод.