using Sprache; namespace XNeedle.Parser { public class XmlFragParser { public static Parser OpeningTagAnchor(string tag) { return from lbraket in Parse.Char('<') from tagname in Parse.String(tag) from any in Parse.CharExcept('>').Many() from rbraket in Parse.Char('>') select new string([.. any]); } public static Parser ChecksumData(string opening, string closing) { return from pregarbage in Parse.AnyChar.Many() from preamble in Parse.String(opening).Token() from content in Parse.AnyChar.Many() from epilouge in Parse.String("") from postgarbage in Parse.AnyChar.Many() select new string([.. content]) + epilouge; } } }