Teilen über


XmlWriter.WriteValue Methode

Definition

Schreibt einen einzelnen, einfach typisierten Wert.

Überlädt

WriteValue(Single)

Schreibt eine Gleitkommazahl mit einfacher Genauigkeit.

WriteValue(Object)

Schreibt den Objektwert.

WriteValue(Int64)

Schreibt einen Int64-Wert.

WriteValue(Int32)

Schreibt einen Int32-Wert.

WriteValue(Double)

Schreibt einen Double-Wert.

WriteValue(String)

Schreibt einen String-Wert.

WriteValue(DateTimeOffset)

Schreibt einen DateTimeOffset-Wert.

WriteValue(DateTime)

Schreibt einen DateTime-Wert.

WriteValue(Boolean)

Schreibt einen Boolean-Wert.

WriteValue(Decimal)

Schreibt einen Decimal-Wert.

Hinweise

Die WriteValue Methode akzeptiert einfache Sprachlaufzeitwerte (CLR), konvertiert sie in ihre Zeichenfolgendarstellungen gemäß der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln und schreibt sie mithilfe der WriteString Methode aus. Dadurch können Sie einfache Typwerte mit minimalem Aufwand beim Übergeben von Daten zwischen XPathDocument, XmlReaderund XmlWriter Objekten ausführen. Diese Möglichkeit ist auch hilfreich beim Umgang mit CLR-einfachen Typen und einer XmlWriter Instanz. Sie können die WriteValue Methode aufrufen, um den typierten Wert anstelle der Methoden in der XmlConvert Klasse zu schreiben, um die eingegebenen Daten in einen Zeichenfolgenwert zu konvertieren, bevor Sie es ausschreiben.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert WriteValue in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

In der folgenden Tabelle sind die standardmäßigen XSD-Datentypen aufgeführt, die CLR-Typen entsprechen.

Wenn das CLR-Objekt ein Listentyp ist (z. B. IEnumerable, IList oder ICollection), wird es wie ein Array des Werttyps behandelt.

CLR-Datentyp Standardmäßiger XSD-Datentyp
System.Boolean xsd:boolean
System.Byte** xsd:integer
System.Byte-Array 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

**Diese Typen sind nicht CLS-kompatibel. Sie verfügen nicht über entsprechende WriteValue Methoden.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen.

WriteValue(Single)

Schreibt eine Gleitkommazahl mit einfacher Genauigkeit.

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)

Parameter

value
Single

Die zu schreibende Gleitkommazahl mit einfacher Genauigkeit.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das Common Language Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten auszuschreiben.

Wenn diese Methode für eine XmlWriter Instanz aufgerufen wird, die nur Text ausgibt, wird der typisierte Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge, und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Object)

Schreibt den Objektwert.

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)

Parameter

value
Object

Der zu schreibende Objektwert.

Hinweis Seit der Veröffentlichung von .NET Framework 3.5 akzeptiert diese Methode nun auch DateTimeOffset als Parameter.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

value ist null.

Der Writer ist geschlossen oder befindet sich im Fehlerzustand.

- oder -

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das allgemeine Sprachlaufzeitobjekt (CLR) und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Wenn das CLR-Objekt ein Listentyp ist, z IEnumerable. B. , IListoder ICollection, wird es als Array des Werttyps behandelt. Der XmlWriter Wert konvertiert den Wert in seine Zeichenfolgendarstellungen gemäß den XML-Schemaregeln (XSD) und schreibt es mithilfe der WriteString Methode aus.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Int64)

Schreibt einen Int64-Wert.

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)

Parameter

value
Int64

Der zu schreibende Int64-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Int32)

Schreibt einen Int32-Wert.

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)

Parameter

value
Int32

Der zu schreibende Int32-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Double)

Schreibt einen Double-Wert.

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)

Parameter

value
Double

Der zu schreibende Double-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Beispiele

Im folgenden Beispiel wird ein Buchknoten mit eingegebenen Daten geschrieben.

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

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(String)

Schreibt einen String-Wert.

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)

Parameter

value
String

Der zu schreibende String-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das Common Language Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten auszuschreiben.

Wenn diese Methode für eine XmlWriter Instanz aufgerufen wird, die nur Text ausgibt, wird der typisierte Wert in Text serialisiert.

Verwenden Sie für asynchrone Vorgänge die WriteStringAsync Methode.

Gilt für

WriteValue(DateTimeOffset)

Schreibt einen DateTimeOffset-Wert.

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)

Parameter

value
DateTimeOffset

Der zu schreibende DateTimeOffset-Wert.

Ausnahmen

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(DateTime)

Schreibt einen DateTime-Wert.

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)

Parameter

value
DateTime

Der zu schreibende DateTime-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Beispiele

Im folgenden Beispiel wird ein Buchknoten mit eingegebenen Daten geschrieben.

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

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Boolean)

Schreibt einen Boolean-Wert.

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)

Parameter

value
Boolean

Der zu schreibende Boolean-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für

WriteValue(Decimal)

Schreibt einen Decimal-Wert.

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)

Parameter

value
Decimal

Der zu schreibende Decimal-Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Hinweise

Diese Methode verwendet das allgemeine Sprach-Runtime-Objekt und konvertiert den Eingabewert in den gewünschten Ausgabetyp mithilfe der XML-Schemadefinitionssprache (XSD)-Datentypkonvertierungsregeln.

Beim Aufruf der WriteValue-Methode konvertiert der XmlWriter den Wert gemäß den Konvertierungsregeln für XSD-Datentypen in die entsprechende Zeichenfolgendarstellung und schreibt ihn mit der WriteString-Methode.

Wenn WriteValue mehrmals hintereinander aufgerufen wird, werden die Werte nicht durch Leerzeichen getrennt. Wenn Leeraum eingefügt werden soll, müssen Sie zwischen Aufrufen von WriteWhitespace die WriteValue-Methode aufrufen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

Wenn diese Methode auf einer XmlWriter Instanz aufgerufen wird, die textgeschützt ausgibt, wird der eingegebene Wert in Text serialisiert.

Konvertieren Sie für asynchrone Vorgänge den Rückgabewert dieser Methode in eine Zeichenfolge und verwenden Sie die WriteStringAsync Methode.

Gilt für