stefanlausl
Goto Top

Programmsteuerung per XML

Hallo,

folgendes Problem:

Ich habe eine Konsolenanwendung die über den SystemFileWatcher verschiedene Ordner überwacht.
Sollte sich in einer der Ordner eine Datei befinden, soll diese kopiert oder verschoben werden.

Also Datei in Ordner 1 -> kopieren/verschieben in Ordner 2 -> kopieren/verschieben in Ordner 3.


Das Ganze funktioniert jetzt wenn man das Programm ausführt und die Prozessschritte Kopieren/Verschieben "manuell" im Code angibt.

Meine Frage ist jetzt:

Wie kann man sowas per XMl steuern:

<Programm.Move Name="Schritt1">
<in>c:\temp\Ordner1</in>
<out>c:\temp\Ordner2</out>

</Programm.Move>

<Programm.Copy Name="Schritt2">
<in>c:\temp\Ordner2</in>
<out>c:\temp\Ordner3</out>

</Programm.Copy>


Ergebnis soll sein:

Datei wird in Ordner2 verschoben und danach in Ordner3 kopiert.


Für Eure Hilfe und Anregungen wäre ich sehr dankbar.

Content-ID: 203101

Url: https://administrator.de/contentid/203101

Ausgedruckt am: 16.11.2024 um 11:11 Uhr

wiesi200
wiesi200 11.03.2013 um 11:19:43 Uhr
Goto Top
Hallo,

hast du die Anwendung selbst Programmiert, und wenn ja wie?
StefanLausL
StefanLausL 11.03.2013 um 11:33:09 Uhr
Goto Top
Hallo,

ja hab ich.

Es laufen einfach nur mehrere Instanzen vom SystemFilewatcher.
Code hab ich leider im Moment leider keinen da.
wiesi200
wiesi200 11.03.2013 um 12:03:35 Uhr
Goto Top
Bei .NET z.b. kann man doch relativ einfach externe Config Dateien einlesen.
Das ist auch nicht's anderes wie ne XML.
StefanLausL
StefanLausL 11.03.2013 um 12:17:13 Uhr
Goto Top
Der gesamte Prozess sollte in einer XML laufen.
Man könnte dann noch andere Prozessschritte definieren und eine Art "workflow" erzeugen.

Ich dachte da an eine XSD Datei.
Lieder habe ich aber keine Ahnung davon.
StefanLausL
StefanLausL 12.03.2013 um 08:41:06 Uhr
Goto Top
Kann mir denn keiner helfen ?
StefanLausL
StefanLausL 12.03.2013 um 11:32:25 Uhr
Goto Top
So ich habe mir jetzt eine XSD erzeugt und automatisch eine Klasse test.cs generieren lassen.
Im Internet habe ich folgendes gefunden:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using SampleApplication.Test;

namespace Test
{
class Program
{
static void Main(string args)
{
root test = ParseXml<root>(@"Test.xml");
}

static T ParseXml<T>(string fileName)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
FileStream stream = new FileStream(fileName, FileMode.Open);

return (T)serializer.Deserialize(stream);
}
}
}

Doch wie geht es jetzt weiter ?