XmlWriter.WriteValue Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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
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
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
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
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
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
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 .