XmlWriter.WriteValue Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
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
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
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
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
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
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.