Ordner lesen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Aktionen > Seitenquellen >

Ordner lesen

Wenn eine "Ordner lesen"-Aktion (siehe Abbildung unten) zum Design hinzugefügt wird, wird im Design die Seitenquelle $MT_FILEINFO, die in Form sich wiederholender File-Elemente strukturiert ist, erstellt. In der Aktion "Ordner lesen" definieren Sie den Ordner, der gelesen werden soll (siehe Abbildung und Beispiel unten). Der Inhalt des angegebenen Ordners (Dateien und Unterordner) wird zur Laufzeit gelesen und die Metadateninformationen der einzelnen Dateien und Unterordner des Zielordners werden im entsprechenden File-Element der Seitenquelle $MT_FILEINFO gespeichert.

MTActionReadFolder

Beachten Sie die folgenden Punkte:

 

Der Ordner kann durch Navigation zum entsprechenden Ordner oder in Form eines XPath-Ausdrucks, dessen Ergebnis ein String mir dem Pfd zum Zielordner ist, angegeben werden.
Wenn die Option Rekursion in Unterordner aktiviert ist, werden Dateien und Unterordner aus rekursiven Unterordnern ausgelesen. Andernfalls werden nur Einträge im angegebenen Ordner gelesen.
Wenn die Option Rekursion in Unterordner aktiviert ist, wird die Option zum Inkludieren leerer Verzeichnisse verfügbar. Dadurch können Informationen aus leeren Ordnern in die ausgelesenen Daten inkludiert werden.
In der Einstellung "Dateimuster" werden Platzhalter verwendet, um zu filtern, welche Dateien eines Ordners gelesen werden sollen. Mit '*.mp3' werden z.B. die Details aller .mp3-Dateien im Ordner gelesen; 'My*.*' liest die Details aller Dateien, deren Namen mit den Zeichen My beginnen und ein beliebiges Suffix haben; '*' oder '' liest den Inhalt des gesamten Ordners. Wenn die Option Rekursion in Unterordner aktiviert ist, wird das Muster rekursiv auf Unterordner angewendet.
Um mehrere Dateimuster einzugeben, muss es sich beim XPath-Ausdruck um eine Sequenz von String-Einträgen, von denen jeder ein einzelnes Muster definiert, handeln. Beispiel: ("*.xml", "*.txt").
Die Aktion "Ordner lesen" liefert Informationen über Dateien und Unterordner des Zielordners, jedoch keine Informationen über den Zielordner selbst. Um nähere Informationen zum Ordner selbst zu erhalten, geben Sie in der Aktion Dateiinfo abrufen den Namen des Ordners an.
Jede Seite enthält eine einzige $MT_FILEINFO-Seitenquelle. Wenn auf einer Seite daher mehrere "Ordner lesen"-Aktionen definiert sind, so enthält $MT_FILEINFO zur Laufzeit jeweils die Informationen über den durch die zuletzt ausgelöste "Ordner lesen"-Aktion gelesenen Ordner.
Diese einzige $MT_FILEINFO-Seitenquelle wird auch mit Daten befüllt, die mit Hilfe der Dateiinfo abrufen-Aktion abgerufen wurden. Während die von der Aktion "Ordner lesen" gelesenen Daten an die File Child-Elemente von $MT_FILEINFO/Root übergeben werden, werden die mit der Aktion Dateiinfo abrufen gelesenen Daten an die Attribute von $MT_FILEINFO/Root übergeben.
Die Seitenquelle $MT_FILEINFO wird erstellt wird, sobald entweder eine "Ordner lesen"-Aktion oder eine Dateiinfo abrufen-Aktion hinzugefügt wird.

 

Beispiel

In der Beispieldatei ReadFolderGetFileInfo.mtd wird gezeigt, wie die Aktion "Ordner lesen'" verwendet wird (siehe Abbildung des Simulators unten). Sie finden diese Datei im Ordner (Eigene) Dokumente unter Altova\MobileTogetherDesigner5\MobileTogetherDesignerExamples\Tutorials\Actions.

Click to expand/collapse

 

Das Beispiel funktioniert folgendermaßen:

 

Der Endbenutzer gibt den Namen eines Ordners in das Bearbeitungsfeld links von der Schaltfläche Read Folder ein.
Der Dateiname wird in den Node Path der $PERSISTENT-Struktur geschrieben (siehe Abbildung).
Für das BeiSchaltflächenklick-Ereignis der Schaltfläche Read Folder wurde eine "Ordner lesen"-Aktion für den in $PERSISTENT/Root/Path gespeicherten Ordner definiert.
Bei Klick auf Read Folder werden die Daten zu den Ordnereinträgen ausgelesen und an die File-Elemente von $MT_FILEINFO übergeben.
Die einzelnen File-Elemente werden im Design als sich wiederholende Zeile einer Tabelle angezeigt.

 


© 2019 Altova GmbH