|
17 | 17 | using System.Text; |
18 | 18 | using System.Text.RegularExpressions; |
19 | 19 | using System.Threading; |
20 | | -using System.Xml; |
21 | 20 | using ServiceStack.Text; |
22 | 21 | using ServiceStack.Text.Common; |
23 | 22 | using ServiceStack.Text.Json; |
@@ -411,23 +410,37 @@ private Expression GetCastOrConvertExpression(Expression expression, Type target |
411 | 410 |
|
412 | 411 | public override string ToXsdDateTimeString(DateTime dateTime) |
413 | 412 | { |
414 | | - return XmlConvert.ToString(dateTime.ToStableUniversalTime(), XmlDateTimeSerializationMode.Utc); |
| 413 | +#if !(__IOS__ || ANDROID) |
| 414 | + return System.Xml.XmlConvert.ToString(dateTime.ToStableUniversalTime(), System.Xml.XmlDateTimeSerializationMode.Utc); |
| 415 | +#else |
| 416 | + return dateTime.ToStableUniversalTime().ToString(DateTimeSerializer.XsdDateTimeFormat); |
| 417 | +#endif |
415 | 418 | } |
416 | 419 |
|
417 | 420 | public override string ToLocalXsdDateTimeString(DateTime dateTime) |
418 | 421 | { |
419 | | - return XmlConvert.ToString(dateTime, XmlDateTimeSerializationMode.Local); |
| 422 | +#if !(__IOS__ || ANDROID) |
| 423 | + return System.Xml.XmlConvert.ToString(dateTime, System.Xml.XmlDateTimeSerializationMode.Local); |
| 424 | +#else |
| 425 | + return dateTime.ToString(DateTimeSerializer.XsdDateTimeFormat); |
| 426 | +#endif |
420 | 427 | } |
421 | 428 |
|
422 | 429 | public override DateTime ParseXsdDateTime(string dateTimeStr) |
423 | 430 | { |
424 | | - return XmlConvert.ToDateTime(dateTimeStr, XmlDateTimeSerializationMode.Utc); |
| 431 | +#if !(__IOS__ || ANDROID) |
| 432 | + return System.Xml.XmlConvert.ToDateTime(dateTimeStr, System.Xml.XmlDateTimeSerializationMode.Utc); |
| 433 | +#else |
| 434 | + return DateTime.ParseExact(dateTimeStr, DateTimeSerializer.XsdDateTimeFormat, CultureInfo.InvariantCulture); |
| 435 | +#endif |
425 | 436 | } |
426 | 437 |
|
| 438 | +#if !(__IOS__ || ANDROID) |
427 | 439 | public override DateTime ParseXsdDateTimeAsUtc(string dateTimeStr) |
428 | 440 | { |
429 | | - return XmlConvert.ToDateTime(dateTimeStr, XmlDateTimeSerializationMode.Utc).Prepare(parsedAsUtc: true); |
| 441 | + return System.Xml.XmlConvert.ToDateTime(dateTimeStr, System.Xml.XmlDateTimeSerializationMode.Utc).Prepare(parsedAsUtc: true); |
430 | 442 | } |
| 443 | +#endif |
431 | 444 |
|
432 | 445 | public override DateTime ToStableUniversalTime(DateTime dateTime) |
433 | 446 | { |
@@ -466,11 +479,6 @@ public override ParseStringDelegate GetJsReaderParseMethod<TSerializer>(Type typ |
466 | 479 | return null; |
467 | 480 | } |
468 | 481 |
|
469 | | - public override XmlSerializer NewXmlSerializer() |
470 | | - { |
471 | | - return new XmlSerializer(); |
472 | | - } |
473 | | - |
474 | 482 | public override void InitHttpWebRequest(HttpWebRequest httpReq, |
475 | 483 | long? contentLength = null, bool allowAutoRedirect = true, bool keepAlive = true) |
476 | 484 | { |
@@ -1214,7 +1222,7 @@ public static void CompressToStream<TXmlDto>(TXmlDto from, Stream stream) |
1214 | 1222 | throw new NotImplementedException("Compression is not supported on this platform"); |
1215 | 1223 | #else |
1216 | 1224 | using (var deflateStream = new System.IO.Compression.DeflateStream(stream, System.IO.Compression.CompressionMode.Compress)) |
1217 | | - using (var xw = new XmlTextWriter(deflateStream, Encoding.UTF8)) |
| 1225 | + using (var xw = new System.Xml.XmlTextWriter(deflateStream, Encoding.UTF8)) |
1218 | 1226 | { |
1219 | 1227 | var serializer = new DataContractSerializer(from.GetType()); |
1220 | 1228 | serializer.WriteObject(xw, from); |
|
0 commit comments