Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete převést řetězec na datový typ .NET, použijte metodu XmlConvert , která odpovídá požadavkům aplikace. Seznam všech metod převodu dostupných ve třídě XmlConvert naleznete v tématu XmlConvert.
Řetězec vrácený z ToString metoda je řetězcová verze dat, která jsou předána. Kromě toho existuje několik typů .NET, které převádějí pomocí XmlConvert třídy, ale nepoužívají metody ve třídě System.Convert . XmlConvert třída se řídí specifikací datového typu XML Schema (XSD) a má datový typ, na který XmlConvert může mapovat.
Následující tabulka uvádí datové typy .NET a typy řetězců, které se vrací pomocí mapování datových typů schématu XML (XSD). Tyto typy .NET nelze zpracovat pomocí metody System.Convert.
| Typ .NET | Vrácený řetězec |
|---|---|
| Logická hodnota | "true", "false" |
| Single.PositiveInfinity | "INF" |
| Single.NegativeInfinity | "-INF" |
| Double.PositiveInfinity | "INF" |
| Double.NegativeInfinity | "-INF" |
| DateTime | Formát je "yyyy-MM-ddTHH:mm:sszzzzzz" a jeho podmnožiny. |
| Časový interval | Formát je PnYnMnTnHnMnS, P2Y10M15DT10H30M20S tj. doba trvání 2 let, 10 měsíců, 15 dní, 10 hodin, 30 minut a 20 sekund. |
Poznámka:
Pokud převedete některý z typů .NET uvedených v tabulce na řetězec pomocí ToString metody, vrácený řetězec není základní typ, ale typ řetězce schématu XML (XSD).
Typ hodnoty DateTime a Timespan se liší v tom, že DateTime představuje okamžik v čase, zatímco TimeSpan představuje časový interval. Formáty DateTime a Timespan jsou zadány ve specifikaci datových typů schématu XML (XSD). Příklad:
Dim writer As New XmlTextWriter("myfile.xml", Nothing)
Dim [date] As New DateTime(2001, 8, 4)
writer.WriteElementString("Date", XmlConvert.ToString([date]))
XmlTextWriter writer = new XmlTextWriter("myfile.xml", null);
DateTime date = new DateTime (2001, 08, 04);
writer.WriteElementString("Date", XmlConvert.ToString(date));
Výstup
<Date>2001-08-04T00:00:00</Date>.
Následující kód převede celé číslo na řetězec:
Dim writer As New XmlTextWriter("myfile.xml", Nothing)
Dim value As Int32 = 200
writer.WriteElementString("Number", XmlConvert.ToString(value))
XmlTextWriter writer = new XmlTextWriter("myfile.xml", null);
Int32 value = 200;
writer.WriteElementString("Number", XmlConvert.ToString(value));
Výstup
<Number>200</Number>
Pokud ale převádíte řetězec na logickou hodnotu, single nebo Double, vrácený typ .NET není stejný jako typ vrácený při použití třídy System.Convert.
Řetězec k logické hodnotě
Následující tabulka ukazuje, jaký typ je generován pro dané vstupní řetězce při převodu řetězce na boolean pomocí ToBoolean metoda.
| Platný vstupní parametr řetězce | Typ výstupu .NET |
|---|---|
| "true" | Logická hodnota.True |
| "1" | Logická hodnota.True |
| "false" | Logická hodnota.False |
| "0" | Logická hodnota.False |
Například s následujícím kódem XML:
Vstup
<Boolean>true</Boolean>
<Boolean>1</Boolean>
Obojí lze pochopit následujícím kódem a bvalue je System.Boolean.True:
Dim bvalue As Boolean = _
XmlConvert.ToBoolean(reader.ReadElementString())
Console.WriteLine(bvalue)
Boolean bvalue = XmlConvert.ToBoolean(reader.ReadElementString());
Console.WriteLine(bvalue);
Řetězec do jednoho
Následující tabulka ukazuje, jaký typ je generován pro dané vstupní řetězce při převodu řetězce na single pomocí toSingle metoda.
| Platný vstupní parametr řetězce | Typ výstupu .NET |
|---|---|
| "INF" | Single.PositiveInfinity |
| "-INF" | Single.NegativeInfinity |
Řetězec k dvojitému
Následující tabulka ukazuje, jaký typ je generován pro dané vstupní řetězce při převodu řetězce na Single pomocí ToDouble metoda.
| Platný vstupní parametr řetězce | Typ výstupu .NET |
|---|---|
| "INF" | Double.PositiveInfinity |
| "-INF" | Double.NegativeInfinity |
Následující kód zapíše <Infinity>INF</Infinity>:
Dim value As Double = Double.PositiveInfinity
writer.WriteElementString("Infinity", XmlConvert.ToString(value))
Double value = Double.PositiveInfinity;
writer.WriteElementString("Infinity", XmlConvert.ToString(value));