public void ValidXmlAfterDoubleLoop()
        {
            var document     = new XmlDocument();
            var repairedFile = XmlRepair.RemoveInvalidCharsDoubleLoop(_file);

            Assert.DoesNotThrow(() => document.LoadXml(repairedFile));
        }
Beispiel #2
0
 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;
     }
 }