XmlWriter.WriteValue Methode

Definition

Schreibt einen einzelnen einfach eingegebenen Wert.

Überlädt

Name Beschreibung
WriteValue(String)

Schreibt einen String Wert.

WriteValue(Boolean)

Schreibt einen Boolean Wert.

WriteValue(DateTime)

Schreibt einen DateTime Wert.

WriteValue(DateTimeOffset)

Schreibt einen DateTimeOffset Wert.

WriteValue(Decimal)

Schreibt einen Decimal Wert.

WriteValue(Double)

Schreibt einen Double Wert.

WriteValue(Int32)

Schreibt einen Int32 Wert.

WriteValue(Int64)

Schreibt einen Int64 Wert.

WriteValue(Object)

Schreibt den Objektwert.

WriteValue(Single)

Schreibt eine Gleitkommazahl mit einfacher Genauigkeit.

Hinweise

Die WriteValue Methode akzeptiert einfache ClR-Werte (Common Language Runtime), konvertiert sie in ihre Zeichenfolgendarstellungen gemäß den XSD-Konvertierungsregeln (XML Schema Definition Language) und schreibt sie mithilfe der WriteString Methode heraus. Auf diese Weise können Sie einfache Werte mit minimalem Analyseaufwand beim Übergeben von Daten zwischen XPathDocument, XmlReaderund XmlWriter Objekten pipelineieren. Diese Möglichkeit ist auch hilfreich beim Umgang mit einfachen CLR-Typen und einer XmlWriter Instanz. Sie können die WriteValue Methode aufrufen, um den typierten Wert zu schreiben, anstatt die Methoden in der XmlConvert Klasse zu verwenden, um die eingegebenen Daten in einen Zeichenfolgenwert zu konvertieren, bevor Sie ihn ausschreiben.

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

In der folgenden Tabelle sind die XSD-Standarddatentypen aufgeführt, die CLR-Typen entsprechen.

Wenn das CLR-Objekt ein Listentyp ist, z IEnumerable. B. , IListoder ICollection, wird es als Array des Werttyps behandelt.

CLR-Typ 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:dezimal
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 mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen.

WriteValue(String)

Schreibt einen String Wert.

public:
 virtual void WriteValue(System::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 String zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 Boolean zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 DateTime zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Beispiele

Im folgenden Beispiel wird ein Buchknoten mit typierten 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 Common Language Runtime-Objekt und konvertiert den Eingabewert mithilfe der XSD-Konvertierungsregeln (XML Schema Definition Language) in den gewünschten Ausgabetyp.

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 DateTimeOffset zu schreibende Wert.

Ausnahmen

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits 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(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 Decimal zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 Double zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Beispiele

Im folgenden Beispiel wird ein Buchknoten mit typierten 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 Common Language Runtime-Objekt und konvertiert den Eingabewert mithilfe der XSD-Konvertierungsregeln (XML Schema Definition Language) in den gewünschten Ausgabetyp.

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 Int32 zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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(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 Int64 zu schreibende Wert.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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.

Note Mit der Version des .NET Framework 3.5 akzeptiert diese Methode DateTimeOffset als Parameter.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

value ist null.

Der Writer ist geschlossen oder im Fehlerzustand.

-oder-

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn es sich bei dem CLR-Objekt um einen Listentyp wie IEnumerable, IListoder ICollectionum ein Array des Werttyps handelt, wird es als Array des Werttyps behandelt. Der XmlWriter Wert konvertiert den Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode heraus.

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(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 gleitkommagenaue Gleitkommazahl, die geschrieben werden soll.

Ausnahmen

Es wurde ein ungültiger Wert angegeben.

Eine XmlWriter Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall InvalidOperationException wird die Meldung "Ein asynchroner Vorgang wird bereits ausgeführt" ausgelöst.

Hinweise

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

Wenn die WriteValue Methode aufgerufen wird, konvertiert der XmlWriter Wert in seine Zeichenfolgendarstellungen gemäß den XSD-Datentypregeln (XML Schema) und schreibt ihn mithilfe der WriteString Methode aus.

Wenn WriteValue mehrere Male nacheinander aufgerufen wird, werden die Werte nicht durch ein Leerzeichen getrennt. Sie müssen zwischen Aufrufen aufrufen WriteWhitespace , um WriteValue Leerzeichen einzufügen. Übergeben Sie einen Arraytyp an die XmlWriter.WriteValue(Object) Überladung, um ein Array mit unterschiedlichen Werten zu schreiben.

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: