##// END OF EJS Templates
Fixed promise rejection when there is not specified error handler in the reaction....
Fixed promise rejection when there is not specified error handler in the reaction. FIXED SPELLING IN THE XML CONTAINER CONFIGURATION signleton->singleton Code cleanup Update tests make them working on dotnet core

File last commit:

r289:95896f882995 v3.0.14 v3
r295:28af686e24f7 default
Show More
XmlSerializerExtensions.cs
88 lines | 3.3 KiB | text/x-csharp | CSharpLexer
/ Implab / src / Xml / XmlSerializerExtensions.cs
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
namespace Implab.Xml {
public static class XmlSerializerExtensions {
public static void Serialize(this XmlSerializer that, object obj, XmlElement element) {
Safe.ArgumentNotNull(that, nameof(that));
using (var writer = element.CreateNavigator().AppendChild())
that.Serialize(writer, obj);
}
public static void Serialize(this XmlSerializer that, object obj, XElement element) {
Safe.ArgumentNotNull(that, nameof(that));
using (var writer = element.CreateWriter())
that.Serialize(writer, obj);
}
public static XDocument SerializeAsXDocumnet(this XmlSerializer that, object obj) {
Safe.ArgumentNotNull(that, nameof(that));
var doc = new XDocument();
using (var writer = doc.CreateWriter()) {
that.Serialize(writer, obj);
}
return doc;
}
public static XmlDocument SerializeAsXmlDocument(this XmlSerializer that, object obj) {
Safe.ArgumentNotNull(that, nameof(that));
var doc = new XmlDocument();
using (var writer = doc.CreateNavigator().AppendChild()) {
that.Serialize(writer, obj);
}
return doc;
}
public static string SerializeAsString(this XmlSerializer that, object obj) {
Safe.ArgumentNotNull(that, nameof(that));
using (var writer = new StringWriter()) {
that.Serialize(writer, obj);
return writer.ToString();
}
}
public static void SerializeToFile(this XmlSerializer that, object obj, string file, Encoding encoding) {
Safe.ArgumentNotNull(that, nameof(that));
using (var writer = new StreamWriter(File.Create(file),encoding))
that.Serialize(writer, obj);
}
public static void SerializeToFile(this XmlSerializer that, object obj, string file) {
SerializeToFile(that, obj, file, Encoding.UTF8);
}
public static object Deserialize(this XmlSerializer that, XmlElement element) {
Safe.ArgumentNotNull(that, nameof(that));
Safe.ArgumentNotNull(element, nameof(element));
using (var reader = element.CreateNavigator().ReadSubtree())
return that.Deserialize(reader);
}
public static object Deserialize(this XmlSerializer that, XElement element) {
Safe.ArgumentNotNull(that, nameof(that));
Safe.ArgumentNotNull(element, nameof(element));
using (var reader = element.CreateReader())
return that.Deserialize(reader);
}
public static object DeserializeFromString(this XmlSerializer that, string text) {
Safe.ArgumentNotNull(that, nameof(that));
using(var reader = new StringReader(text))
return that.Deserialize(reader);
}
public static object DeserializeFromFile(this XmlSerializer that, string file) {
Safe.ArgumentNotNull(that, nameof(that));
using(var reader = File.OpenRead(file))
return that.Deserialize(reader);
}
}
}