Beispiel #1
0
    private async Task CleanXml(XmlCleanerContext context)
    {
      await Task.Run(() =>
        {
          foreach (var cleaner in this.Cleaners)
          {
            cleaner.CleanXml(context);

            if (!string.IsNullOrWhiteSpace(context.ErrorMessage))
            {
              this.MessengerInstance.Send<DisplayApplicationStatusMessage>(new DisplayApplicationStatusMessage(context.ErrorMessage));
              return;
            }
          }

          if (context.ParsedXml != null)
          {
            this.MessengerInstance.Send<DisplayApplicationStatusMessage>(new DisplayApplicationStatusMessage("XML parsed correctly"));
          }
          else
          {
            this.MessengerInstance.Send<DisplayApplicationStatusMessage>(new DisplayApplicationStatusMessage("Text was not able to be parsed into XML"));
          }
        });

      return;
    }
Beispiel #2
0
        public override void CleanXml(XmlCleanerContext context)
        {
            if (context.ParsedXml != null)
            {
                return;
            }


            try
            {
                context.ParsedXml  = XElement.Parse(context.XmlToClean);
                context.XmlToClean = context.ParsedXml.ToString(SaveOptions.None);
            }
            catch
            {
                try
                {
                    context.ParsedXml  = XElement.Parse(String.Format("<AddedRoot>{0}</AddedRoot>", context.XmlToClean));
                    context.XmlToClean = context.ParsedXml.ToString(SaveOptions.None);
                }
                catch (Exception e)
                {
                    context.ErrorMessage = "Unable to parse XML, even when surrounded with a root element.  " + e.Message;
                }
            }
        }
        public void CleanXml_EscapedNonEmptyXmlAttributeWithSeparateClosingTag_ShouldReplaceDoubleQuotes()
        {
            const string sample = "<xml attr=\"\"Test\"\" ></xml>";
              const string expected = "<xml attr=\"Test\" ></xml>";
              var context = new XmlCleanerContext() { XmlToClean = sample };

              var sut = new VisualStudioVBScriptCleaner();
              sut.CleanXml(context);

              Assert.AreEqual(expected, context.XmlToClean);
        }
Beispiel #4
0
    async public Task<string> CleanXmlIfPossibleAsync(string xml)
    {
      if (!XmlShouldBeCleaned(xml))
        return xml;

      var context = new XmlCleanerContext() { XmlToClean = xml };

      await CleanXml(context);

      return context.XmlToClean;
    }
        public void CleanXml_EscapedNonEmptyXmlAttributeSurroundedBySingleQuotes_ShouldReplaceDoubleQuotes()
        {
            const string sample = "<xml attr='Test \"\"THE\"\" thing.' />";
              const string expected = "<xml attr='Test \"THE\" thing.' />";
              var context = new XmlCleanerContext() { XmlToClean = sample };

              var sut = new VisualStudioVBScriptCleaner();
              sut.CleanXml(context);

              Assert.AreEqual(expected, context.XmlToClean);
        }
        public override void CleanXml(XmlCleanerContext context)
        {
            var firstLessThanIndex = context.XmlToClean.IndexOf('<');
              if (firstLessThanIndex < 0)
            return;

              var lastGreaterThanIndex = context.XmlToClean.LastIndexOf('>');
              if (lastGreaterThanIndex < 0)
            return;

              context.XmlToClean = context.XmlToClean.Substring(firstLessThanIndex, lastGreaterThanIndex - firstLessThanIndex + 1);
        }
        public override void CleanXml(XmlCleanerContext context)
        {
            var firstLessThanIndex = context.XmlToClean.IndexOf('<');

            if (firstLessThanIndex < 0)
            {
                return;
            }

            var lastGreaterThanIndex = context.XmlToClean.LastIndexOf('>');

            if (lastGreaterThanIndex < 0)
            {
                return;
            }

            context.XmlToClean = context.XmlToClean.Substring(firstLessThanIndex, lastGreaterThanIndex - firstLessThanIndex + 1);
        }
Beispiel #8
0
        public override void CleanXml(XmlCleanerContext context)
        {
            if (context.ParsedXml != null)
            return;

              try
              {
            context.ParsedXml = XElement.Parse(context.XmlToClean);
            context.XmlToClean = context.ParsedXml.ToString(SaveOptions.None);
              }
              catch
              {
            try
            {
              context.ParsedXml = XElement.Parse(String.Format("<AddedRoot>{0}</AddedRoot>", context.XmlToClean));
              context.XmlToClean = context.ParsedXml.ToString(SaveOptions.None);
            }
            catch (Exception e)
            {
              context.ErrorMessage = "Unable to parse XML, even when surrounded with a root element.  " + e.Message;
            }
              }
        }
Beispiel #9
0
 public abstract void CleanXml(XmlCleanerContext context);
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = Regex.Replace(context.XmlToClean, DOUBLE_QUOTE_REGEX, Evaluator);
 }
Beispiel #11
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = WebUtility.UrlDecode(context.XmlToClean);
 }
Beispiel #12
0
 public override void CleanXml(XmlCleanerContext context)
 {
 }
Beispiel #13
0
 public override void CleanXml(XmlCleanerContext context)
 {
 }
Beispiel #14
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Trim();
 }
Beispiel #15
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Replace(Environment.NewLine, string.Empty);
 }
Beispiel #16
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Replace(Environment.NewLine, string.Empty);
 }
Beispiel #17
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Replace("\\\"", "\"");
 }
        public void CleanXml_NonEscapedEmptyXmlAttributeWithNoWhitespaceAfterWithSeparateClosingTag_ShouldNotReplaceDoubleQuotes()
        {
            const string sample = "<xml attr=\"\"></xml>";
              var context = new XmlCleanerContext() { XmlToClean = sample };

              var sut = new VisualStudioVBScriptCleaner();
              sut.CleanXml(context);

              Assert.AreEqual(sample, context.XmlToClean);
        }
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = Regex.Replace(context.XmlToClean, DOUBLE_QUOTE_REGEX, Evaluator);
 }
        public void CleanXml_NonEscapedEmptyXmlAttribute_ShouldNotReplaceDoubleQuotes()
        {
            const string sample = "<xml attr=\"\" />";
              var context = new XmlCleanerContext() { XmlToClean = sample };

              var sut = new VisualStudioVBScriptCleaner();
              sut.CleanXml(context);

              Assert.AreEqual(sample, context.XmlToClean);
        }
Beispiel #21
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Trim();
 }
Beispiel #22
0
 public override void CleanXml(XmlCleanerContext context)
 {
     context.XmlToClean = context.XmlToClean.Replace("\\\"", "\"");
 }
Beispiel #23
0
 public abstract void CleanXml(XmlCleanerContext context);