Condividi tramite


XmlWriter.WriteValue Metodo

Definizione

Scrive un unico valore di tipo semplice.

Overload

WriteValue(Single)

Scrive un numero a virgola mobile e precisione singola.

WriteValue(Object)

Scrive il valore dell'oggetto.

WriteValue(Int64)

Scrive un valore Int64.

WriteValue(Int32)

Scrive un valore Int32.

WriteValue(Double)

Scrive un valore Double.

WriteValue(String)

Scrive un valore String.

WriteValue(DateTimeOffset)

Scrive un valore DateTimeOffset.

WriteValue(DateTime)

Scrive un valore DateTime.

WriteValue(Boolean)

Scrive un valore Boolean.

WriteValue(Decimal)

Scrive un valore Decimal.

Commenti

Il WriteValue metodo accetta valori simple-typed (CLR) di Common Language Runtime, li converte nelle relative rappresentazioni di stringa in base alle regole di conversione dei tipi di dati XSD (XML Schema Definition Language) e li scrive tramite il WriteString metodo . In questo modo è possibile eseguire la pipeline di valori di tipo semplice con sovraccarico minimo di correzione durante il passaggio di dati tra XPathDocument, XmlReadere XmlWriter oggetti. Questa capacità è utile anche quando si tratta di tipi semplici CLR e un'istanza XmlWriter . È possibile chiamare il metodo per scrivere il WriteValue valore tipizzato anziché usare i metodi della XmlConvert classe per convertire i dati tipizzato in un valore stringa prima di scriverlo.

Per le operazioni asincrone, convertire il valore restituito di WriteValue in una stringa e usare il WriteStringAsync metodo .

Nella tabella seguente vengono illustrati i tipi di dati XSD predefiniti corrispondenti ai tipi CLR.

Se l'oggetto CLR è un tipo di elenco, ad esempio IEnumerable, IList o ICollection, verrà considerato una matrice del tipo di valore.

Tipo CLR Tipo di dati XSD predefinito
System.Boolean xsd:boolean
System.Byte** xsd:integer
Matrice 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

**Questi tipi non sono conformi a CLS. Non hanno metodi corrispondenti WriteValue .

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto.

WriteValue(Single)

Scrive un numero a virgola mobile e precisione singola.

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)

Parametri

value
Single

Numero a virgola mobile e precisione singola da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato su un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Object)

Scrive il valore dell'oggetto.

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)

Parametri

value
Object

Valore dell'oggetto da scrivere.

Nota In .NET Framework 3.5 questo metodo accetta DateTimeOffset come parametro.

Eccezioni

È stato specificato un valore non valido.

L'elemento value è null.

Il writer è chiuso o nello stato di errore.

-oppure-

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto CLR (Common Language Runtime) e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language).

Se l'oggetto CLR è un tipo di elenco, ad IEnumerableesempio , IListo ICollection, viene considerato come matrice del tipo di valore. Converte XmlWriter il valore nelle relative rappresentazioni di stringa in base alle regole del tipo di dati XSD (XML Schema) e lo scrive usando il WriteString metodo .

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Int64)

Scrive un valore 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)

Parametri

value
Int64

Valore Int64 da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Int32)

Scrive un valore 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)

Parametri

value
Int32

Valore Int32 da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Double)

Scrive un valore 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)

Parametri

value
Double

Valore Double da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Esempio

Nell'esempio seguente viene scritto un nodo libro usando dati tipizzato.

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

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(String)

Scrive un valore 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)

Parametri

value
String

Valore String da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language).

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato su un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, usare il WriteStringAsync metodo .

Si applica a

WriteValue(DateTimeOffset)

Scrive un valore 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)

Parametri

value
DateTimeOffset

Valore DateTimeOffset da scrivere.

Eccezioni

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(DateTime)

Scrive un valore 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)

Parametri

value
DateTime

Valore DateTime da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Esempio

Nell'esempio seguente viene scritto un nodo libro usando dati tipizzato.

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

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Boolean)

Scrive un valore 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)

Parametri

value
Boolean

Valore Boolean da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a

WriteValue(Decimal)

Scrive un valore 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)

Parametri

value
Decimal

Valore Decimal da scrivere.

Eccezioni

È stato specificato un valore non valido.

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Commenti

Questo metodo accetta l'oggetto Common Language Runtime e converte il valore di input nel tipo di output desiderato usando le regole di conversione del tipo di dati XSD (XML Schema Definition Language Language).

Quando viene chiamato il metodo WriteValue, il XmlWriter converte il valore nelle relative rappresentazioni di stringa in base alle regole dei tipi di dati XSD (XML Schema) e li scrive utilizzando il metodo WriteString.

Se WriteValue viene chiamato più volte in successione, i valori non sono delimitati da uno spazio. È necessario chiamare il metodo WriteWhitespace tra le chiamate a WriteValue per inserire uno spazio vuoto. Passare un tipo di matrice all'overload XmlWriter.WriteValue(Object) per scrivere una matrice di valori distinti.

Se questo metodo viene chiamato in un'istanza XmlWriter che restituisce solo testo, il valore tipizzato viene serializzato in testo.

Per le operazioni asincrone, convertire il valore restituito di questo metodo in una stringa e usare il WriteStringAsync metodo .

Si applica a