Frage : Script, um Informationen vom xml zu extrahieren und Akten zu verschieben

Hallo kann alles

I morgens Hopfen jemand mir mit diesem helfen. das
I morgens nach einem Index suchend, der von jedem möglichem Fenster-PC laufen gelassen werden kann, der die „Grafikidentifikation“ in einer xml Akte extrahieren kann und dann, alle Akten mit den Namen der Grafikidentifikation von einem Verzeichnis in ein anderes Verzeichnis kopiert. Sobald alle Akten kopiert worden sind, muss es alle Akten sicherstellen, im Bestimmungsortverzeichnis zu existieren, bevor es sie aus dem ersten Verzeichnis löscht. Manchmal existiert die Grafikmacht nicht, im Quellverzeichnis aber wird im Bestimmungsortverzeichnis existieren, oder, wenn die Grafik vollständig fehlt, muss sie mich mit dem fehlenden id.

I mailen hat angebracht eine Beispiel xml Akte.  

Many Dank im Voraus
Attachments:
example XML

Antwort : Script, um Informationen vom xml zu extrahieren und Akten zu verschieben

TazEE,

Ich sehe, was ich tun kann, um zu unterstützen.  Sie gaben Beispielxml Akte sind- eine unzulässige xml Akte bekannt, wie sie einige closing Umbauten verfehlt.  Ich habe versucht, mit ihr zu justieren und zu arbeiten.  Unter ist ein justierter Index, der Ihnen entlang Ihrer Weise helfen sollte.  Ich habe versucht, einige Anmerkungen zur Vorlage innen zu setzen.

Für Sie müssen sofortige Ausgaben von mehr als einer Grafik, Sie sich durch die Nullpunkt-Liste schlingen, die Sie erhalten.  Im Augenblick ergreifen Sie nur das erste gefunden.  Auch ich schlage vor, dass Sie die Überprüfung, zum sie sicherzustellen eine Grafik Identifikation haben, da Ihre Probe einige ANZEIGEN-Nullpunkte ohne eine Grafik Identifikation hatte.  Mich informieren, wenn Sie Fragen haben, während Sie durch den Index arbeiten.

Anstatt, zu einer Akte auszuschreiben, hielt ich gerade alle grafischen IDs in einer Schnurreihe im Gedächtnis (strGraphicList)

- Bär
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
Schwaches fso, outfile, grafisch, Elem
Schwaches strFromDir, strToDir, strGraphicList (), i
Fso = CreateObject („Scripting.FileSystemObject“) einstellen

'**** Stellte Ihr Verzeichnis-Werte hier **** ein
strFromDir = „C:\Original“
strToDir = „C:\New“
I = 0

xmlDoc = CreateObject („Msxml2.DOMDocument“) einstellen
xmlDoc.load („C:\test\test.XML ")

ElemList = xmlDoc.getElementsByTagName („Anzeige“) einstellen

'ElemList.Length zeigt Ihnen, wieviele ANZEIGEN-Nullpunkte Sie fanden
'msgbox ElemList.Length

'Schleife durch Ihre Nullpunkt-Liste
Für jedes Elem in ElemList

	'Überprüfen, um zu sehen, wenn dieser Nullpunkt ein Attribut hat, das Graphic genannt wird
	Wenn nicht Elem.getAttribute („Grafik“) dann
		'Sicherstellen, dass die Reihe die rechte Größe ist
		Redim Konserve strGraphicList (i)
		
		'Wenn ja, den Attributwert einer Reihe zuweisen
		strGraphicList (i) = Elem.getAttribute („Grafik“)
		
		'Den Kostenzähler erhöhen
		I = i + 1
	Beenden wenn
Zunächst


'Schleife durch die Reihe
Für i = 0 zu Ubound (strGraphicList) - 1
	'Sicherstellen, dass die ursprüngliche Akte in der Quelle existiert
	Wenn fso.FileExists (sstrFromDir u. „\“ u. strGraphicList (i)) dann
		'Fand die Akte - zum Bestimmungsort zu kopieren
		fso.CopyFile strFromDir u. „\“ u. strGraphicList (i), strToDir u. „\“
	Beenden wenn
Zunächst
		
'Validieren, dass alle Akten im Bestimmungsort herausnehmen
Für i = 0 zu Ubound (strGraphicList) - 1
	'Sicherstellen, dass die ursprüngliche Akte in der Quelle existiert
	Wenn NICHT fso.FileExists (strToDir u. „\“ u. strGraphicList (i)) dann
		'Gefunden NICHT gefunden
		msgbox „Grafik Identifikation“ u. strGraphicList (i) u. „wurde gefunden nicht“
	Beenden wenn
Zunächst
		
msgbox „erfolgt“
Weitere Lösungen  
 
programming4us programming4us