public static string ToXml(this BaseUblDocument doc) { var serializer = new XmlSerializer(doc.GetType()); using (var stringWriter = new StringWriter()) { using (var xmlWriter = XmlWriter.Create(stringWriter)) { serializer.Serialize(xmlWriter, doc, doc.Xmlns); } return(stringWriter.ToString()); } }
public static ValidationResponse Validate(this BaseUblDocument doc, string xsdLocation) { var response = new ValidationResponse { IsValid = true, Errors = "" }; var schemas = new XmlSchemaSet(); using (var xr = new XmlTextReader(xsdLocation)) { schemas.Add(XmlSchema.Read(xr, null)); } var xmlReader = XmlReader.Create(new StringReader(doc.ToXml())); var xDoc = XDocument.Load(xmlReader); xDoc.Validate(schemas, (o, e) => { response.Errors += e.Message + Environment.NewLine; response.IsValid = false; }); return(response); }