Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Om du vill konvertera en sträng till en .NET-datatyp använder du metoden XmlConvert som passar programkraven. En lista över alla konverteringsmetoder som är tillgängliga i klassen XmlConvertXmlConvert finns i .
Strängen som returneras från metoden ToString är en strängversion av de data som skickas in. Dessutom finns det flera .NET-typer som konverterar med klassen XmlConvert , men de använder inte metoderna i klassen System.Convert . Klassen XmlConvert följer specifikationen för XML-schemadatatyp (XSD) och har en datatyp som XmlConvert kan mappas till.
I följande tabell visas .NET-datatyper och de strängtyper som returneras med hjälp av xml-schemadatatypmappning (XSD). Dessa .NET-typer kan inte bearbetas med System.Convert.
| .NET-typ | Sträng returnerad |
|---|---|
| Booleskt | "true", "false" |
| Single.PositiveInfinity | "INF" |
| Single.NegativeInfinity | "-INF" |
| Double.PositiveInfinity | "INF" |
| Double.NegativeInfinity | "-INF" |
| Datum/tid | Formatet är "åååå-MM-ddTHH:mm:sszzzzzz" och dess delmängder. |
| Tidsintervall | Formatet är PnYnMnTnHnMnS som P2Y10M15DT10H30M20S är en varaktighet på 2 år, 10 månader, 15 dagar, 10 timmar, 30 minuter och 20 sekunder. |
Kommentar
Om du konverterar någon av de .NET-typer som anges i tabellen till en sträng med metoden ToString är den returnerade strängen inte bastypen, utan strängtypen XML-schema (XSD).
Värdetypen DateTime och Timespan skiljer sig åt eftersom en DateTime representerar ett ögonblick i tiden, medan en TimeSpan representerar ett tidsintervall. Formaten DateTime och Timespan anges i specifikationen för XML-schemadatatyper (XSD). Till exempel:
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));
Output
<Date>2001-08-04T00:00:00</Date>.
Följande kod konverterar ett heltal till en sträng:
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));
Output
<Number>200</Number>
Men om du konverterar en sträng till boolesk, enkel eller dubbel, är .NET-typen som returneras inte samma som den typ som returnerades när klassen System.Convert används.
Sträng till boolesk
I följande tabell visas vilken typ som genereras för de angivna indatasträngarna när du konverterar en sträng till boolesk med hjälp av metoden ToBoolean .
| Giltig strängindataparameter | .NET-utdatatyp |
|---|---|
| "true" | Boolesk.True |
| "1" | Boolesk.True |
| "falskt" | Boolesk.False |
| "0" | Boolesk.False |
Till exempel med följande XML:
Indata
<Boolean>true</Boolean>
<Boolean>1</Boolean>
Båda kan förstås av följande kod och bvalue är System.Boolean.True:
Dim bvalue As Boolean = _
XmlConvert.ToBoolean(reader.ReadElementString())
Console.WriteLine(bvalue)
Boolean bvalue = XmlConvert.ToBoolean(reader.ReadElementString());
Console.WriteLine(bvalue);
Sträng till enskild
I följande tabell visas vilken typ som genereras för de angivna indatasträngarna när du konverterar en sträng till en Enskild med metoden ToSingle .
| Giltig strängindataparameter | .NET-utdatatyp |
|---|---|
| "INF" | Single.PositiveInfinity |
| "-INF" | Single.NegativeInfinity |
Sträng till dubbel
I följande tabell visas vilken typ som genereras för de angivna indatasträngarna när du konverterar en sträng till en Enskild med metoden ToDouble .
| Giltig strängindataparameter | .NET-utdatatyp |
|---|---|
| "INF" | Double.PositiveInfinity |
| "-INF" | Double.NegativeInfinity |
Följande kod skriver <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));