public void ValidXmlAfterDoubleLoop() { var document = new XmlDocument(); var repairedFile = XmlRepair.RemoveInvalidCharsDoubleLoop(_file); Assert.DoesNotThrow(() => document.LoadXml(repairedFile)); }
protected FB2File ReadBrokenXmlFb2FileStream(Stream stream) { Logger.Log.Debug("Starting to load FB2 stream"); try { using (var ms = new MemoryStream()) { var fixer = new XmlRepair(); fixer.Repair(stream, ms); ms.Seek(0, SeekOrigin.Begin); return(ReadFb2FileStream(ms)); } } catch (XmlException xex) { Logger.Log.WarnFormat("Error loading file - invalid XML content : {0} \nRepair attempt failed", xex); throw; } catch (Exception ex) { Logger.Log.ErrorFormat("Error loading file : {0}", ex); throw; } }