static void Testing() { XmlLayer rootLayer = XmlLoader.Load(FILE_TEST); XmlLayer newLayer = rootLayer.GoTo("Child", "InnerChild"); XmlLayer layer = XmlLayer.CreateRootLayer(FILE_TEST); XmlLayer serverConfigRootLayer = XmlLayer.CreateRootLayer(FILE_SERVER_CONFIG); XmlLayer consoleFilterLayer = serverConfigRootLayer.GoTo("Logging", "Console", "Filters"); XmlLayer jsonFilterLayer = serverConfigRootLayer.GoTo("Logging", "Json", "Filters"); Extraction consoleExtraction = Extraction.OnMany((() => new List <string>()), (list, data) => list.Add($"From: {data[0].Source}. {data[0].Data}"), (list => { foreach (string filter in list) { Console.WriteLine(filter); } })) .OnOne(data => Console.WriteLine($"One Filter was found, {data[0].Source}. {data[0].Data}")) .OnNone((() => Console.WriteLine("No filters detected."))); consoleFilterLayer.ExtractIntoFromElements(consoleExtraction); ExtractionRaw raw = ExtractionRaw.OnOne(data => Console.WriteLine($"From {data[0].Source}. {data[0].Data}")) .OnNone(() => Console.WriteLine("No raw data found.")); serverConfigRootLayer.ExtractIntoFromRaw(raw, "General.Port"); layer.Dispose(); layer = XmlLoader.Load(FILE_TEST); layer = layer.CreateRootLayer(); }
private static ILogger Init() { ILogger log = null; XmlLayer root = XmlLayer.CreateRootLayer(PlaceHolderFileSystem.ConfigFilePath); ExtractionRaw raw = ExtractionRaw.OnOne(data => log = data[0].Data.ToLower() != "true" ? (ILogger) new DefaultLogger() : (ILogger) new EmptyLogger()) .OnNone(() => log = new EmptyLogger()); root.ExtractIntoFromRaw(raw, "Log.Disable"); return(log); }