Информация об изменениях

Сообщение Re[2]: трассер для хмл от 24.05.2019 22:20

Изменено 24.05.2019 22:22 gok

Re[2]: трассер для хмл
здорово!
А может Regex создать лист из *.xml или подняться выше на этаж для ../text.xml. Или все же ручками надо?

static void TraceXml(int level, string inputUri)
{
level++;
if (Path.GetExtension(inputUri) != ".xml")
{
Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + string.Format("File {0} is not XML.", inputUri));
return;
}
// learn to read ../test.xml, *.xml
if (!File.Exists(inputUri))
{
Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + string.Format("File {0} not exists yet.", inputUri));
return;
}
Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + inputUri);
using (var xr = XmlReader.Create(inputUri))
{
FindPaths(xr, path =>
{
var fpath = ExpandPath(path, EnvExpander);
TraceXml(level, fpath);
});
}
}
static void Main(string[] args)
{
string inputUri = Environment.CurrentDirectory + "/Support/bcadtestapp.xml";
int level = 0;
TraceXml(level, inputUri);
}
Re[2]: трассер для хмл
здорово!
А может Regex создать лист из *.xml или подняться выше на этаж для ../text.xml. Или все же ручками надо?
        static void TraceXml(int level, string inputUri)
        {
            level++;
            if (Path.GetExtension(inputUri) != ".xml")
            {
                Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + string.Format("File {0} is not XML.", inputUri));
                return;
            }
            // learn to read ../test.xml, *.xml
            if (!File.Exists(inputUri))
            {
                Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + string.Format("File {0} not exists yet.", inputUri));
                return;
            }
            Console.WriteLine(string.Join("", Enumerable.Repeat(' ', level)) + inputUri);
            using (var xr = XmlReader.Create(inputUri))
            {
                FindPaths(xr, path =>
                {
                    var fpath = ExpandPath(path, EnvExpander);
                    TraceXml(level, fpath);
                });
            }
        }
        static void Main(string[] args)
        {
            string inputUri = Environment.CurrentDirectory + "/Support/bcadtestapp.xml";
            int level = 0;
            TraceXml(level, inputUri);
        }