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)简单类型值,根据 XML 架构定义语言(XSD)数据类型转换规则将其转换为字符串表示形式,并使用该方法将其写出 WriteString 。 这样,便可以在传递数据与对象之间XPathDocumentXmlReaderXmlWriter传递数据时,以最少的重新分析开销来管道简单类型值。 处理 CLR 简单类型和 XmlWriter 实例时,此功能也很有用。 可以调用 WriteValue 该方法来编写类型化值,而不是使用类中的 XmlConvert 方法在写出数据之前将类型化数据转换为字符串值。

对于异步操作,请将返回值 WriteValue 转换为字符串并使用 WriteStringAsync 该方法。

下表显示了对应于 CLR 类型的默认 XSD 数据类型。

如果 CLR 对象是列表类型,例如 IEnumerableIListICollection将其视为值类型的数组。

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 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。

WriteValue(Single)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入单精度浮点数。

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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Object)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入对象值。

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

要写入的对象值。

Note 随着 .NET Framework 3.5 的发布,此方法接受 DateTimeOffset 作为参数。

例外

指定了无效值。

valuenull

编写器处于关闭状态或处于错误状态。

-或-

在上一个异步操作完成之前调用了一个 XmlWriter 方法。 在这种情况下, InvalidOperationException 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时 (CLR) 对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

如果 CLR 对象是列表类型,或者IEnumerableIListICollection将其视为值类型的数组。 根据 XmlWriter XML 架构 (XSD) 数据类型规则将值转换为其字符串表示形式,并使用该方法将其写出 WriteString

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Int64)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Int32)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Double)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请使用该方法 WriteStringAsync

适用于

WriteValue(DateTimeOffset)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Boolean)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于

WriteValue(Decimal)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

写入值 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 会引发消息“正在进行异步操作”。

注解

此方法采用公共语言运行时对象,并使用 XML 架构定义语言 (XSD) 数据类型转换规则将输入值转换为所需的输出类型。

WriteValue调用该方法时,根据 XmlWriter XML 架构(XSD)数据类型规则将值转换为其字符串表示形式,并使用该方法将其WriteString写入。

如果 WriteValue 连续多次调用,则值不由空格分隔。 必须在调用之间调用 WriteWhitespaceWriteValue 插入空格。 将数组类型传递给 XmlWriter.WriteValue(Object) 重载以写出非重复值的数组。

如果在仅输出文本的实例上 XmlWriter 调用此方法,则类型化值序列化为文本。

对于异步操作,请将此方法的返回值转换为字符串并使用 WriteStringAsync 该方法。

适用于