Udostępnij za pośrednictwem


XmlWriter.WriteValue Metoda

Definicja

Zapisuje pojedynczą wartość typu prostego.

Przeciążenia

WriteValue(Single)

Zapisuje liczbę zmiennoprzecinkową o pojedynczej precyzji.

WriteValue(Object)

Zapisuje wartość obiektu.

WriteValue(Int64)

Int64 Zapisuje wartość.

WriteValue(Int32)

Int32 Zapisuje wartość.

WriteValue(Double)

Double Zapisuje wartość.

WriteValue(String)

String Zapisuje wartość.

WriteValue(DateTimeOffset)

DateTimeOffset Zapisuje wartość.

WriteValue(DateTime)

DateTime Zapisuje wartość.

WriteValue(Boolean)

Boolean Zapisuje wartość.

WriteValue(Decimal)

Decimal Zapisuje wartość.

Uwagi

Metoda WriteValue akceptuje proste wartości środowiska uruchomieniowego języka wspólnego (CLR), konwertuje je na reprezentacje ciągów zgodnie z regułami konwersji typów danych języka definicji schematu XML (XSD) i zapisuje je przy użyciu WriteString metody . Dzięki temu można potokować proste wartości typu z minimalnym obciążeniem ponownej analizy podczas przekazywania danych między XPathDocumentobiektami , XmlReaderi XmlWriter . Ta możliwość jest również przydatna podczas pracy z prostymi typami CLR i wystąpieniem XmlWriter . Możesz wywołać metodę WriteValue , aby zapisać typową wartość zamiast używać metod w XmlConvert klasie w celu przekonwertowania typowanych danych na wartość ciągu przed jej zapisaniem.

W przypadku operacji asynchronicznych przekonwertuj wartość WriteValue zwracaną na ciąg i użyj WriteStringAsync metody .

W poniższej tabeli przedstawiono domyślne typy danych XSD odpowiadające typom CLR.

Jeśli obiekt CLR jest typem listy, takim jak IEnumerable, IListlub ICollection, jest traktowany jako tablica typu wartości.

Typ CLR Domyślny typ danych XSD
System.Boolean xsd:boolean
System.Byte** xsd:integer
System.Byte Tablicy 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

**Te typy nie są zgodne ze specyfikacją CLS. Nie mają odpowiednich WriteValue metod.

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue .

WriteValue(Single)

Zapisuje liczbę zmiennoprzecinkową o pojedynczej precyzji.

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)

Parametry

value
Single

Liczba zmiennoprzecinkowa o pojedynczej precyzji do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Object)

Zapisuje wartość obiektu.

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)

Parametry

value
Object

Wartość obiektu do zapisania.

Uwaga Wraz z wydaniem .NET Framework 3.5 ta metoda przyjmuje DateTimeOffset jako parametr.

Wyjątki

Określono nieprawidłową wartość.

Wartość value to null.

Składnik zapisywania jest zamknięty lub jest w stanie błędu.

-lub-

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego (CLR) i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Jeśli obiekt CLR jest typem listy, takim jak IEnumerable, IListlub ICollection, jest traktowany jako tablica typu wartości. Funkcja XmlWriter konwertuje wartość na reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Int64)

Int64 Zapisuje wartość.

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)

Parametry

value
Int64

Int64 Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Int32)

Int32 Zapisuje wartość.

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)

Parametry

value
Int32

Int32 Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Double)

Double Zapisuje wartość.

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)

Parametry

value
Double

Double Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Przykłady

Poniższy przykład zapisuje węzeł książki przy użyciu wpisanych danych.

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

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(String)

String Zapisuje wartość.

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)

Parametry

value
String

String Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych użyj WriteStringAsync metody .

Dotyczy

WriteValue(DateTimeOffset)

DateTimeOffset Zapisuje wartość.

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)

Parametry

value
DateTimeOffset

DateTimeOffset Wartość do zapisania.

Wyjątki

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(DateTime)

DateTime Zapisuje wartość.

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)

Parametry

value
DateTime

DateTime Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Przykłady

Poniższy przykład zapisuje węzeł książki przy użyciu wpisanych danych.

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

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Boolean)

Boolean Zapisuje wartość.

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)

Parametry

value
Boolean

Boolean Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy

WriteValue(Decimal)

Decimal Zapisuje wartość.

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)

Parametry

value
Decimal

Decimal Wartość do zapisania.

Wyjątki

Określono nieprawidłową wartość.

Metoda XmlWriter została wywołana przed zakończeniem poprzedniej operacji asynchronicznej. W takim przypadku InvalidOperationException jest zgłaszany komunikat "Operacja asynchroniczna jest już w toku".

Uwagi

Ta metoda przyjmuje obiekt środowiska uruchomieniowego języka wspólnego i konwertuje wartość wejściową na żądany typ danych wyjściowych przy użyciu reguł konwersji typów danych języka definicji schematu XML (XSD).

Po wywołaniu WriteValue XmlWriter metody metoda konwertuje wartość na jej reprezentacje ciągów zgodnie z regułami typów danych schematu XML (XSD) i zapisuje ją przy użyciu WriteString metody .

Jeśli WriteValue jest wywoływana wiele razy z rzędu, wartości nie są rozdzielane spacją. Aby wstawić biały znak, należy wywołać WriteWhitespace wywołania między wywołaniami WriteValue . Przekaż typ tablicy do XmlWriter.WriteValue(Object) przeciążenia, aby zapisać tablicę odrębnych wartości.

Jeśli ta metoda jest wywoływana w wystąpieniu XmlWriter , które zwraca tylko tekst, typowana wartość jest serializowana do tekstu.

W przypadku operacji asynchronicznych przekonwertuj wartość zwracaną tej metody na ciąg i użyj WriteStringAsync metody .

Dotyczy