Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Daten aus XML Dateien extrahieren und in Excel einfügen

Mitglied: SGE-2001

SGE-2001 (Level 1) - Jetzt verbinden

24.04.2006, aktualisiert 09.05.2006, 15289 Aufrufe, 14 Kommentare

Hallo,

ich habe mehrere XML Dateien (täglich eine), die automatisch als log für einen Exchange Server generiert werden.

Es geht jetzt erst mal um nur 1 dieser Dateien.
In der XML Datei sind etliche Zeilen XML Code enthalten. Mich interresieren daraus aber nur wenige Angaben, die ich in eine Excel Tabelle einfügen muss.

Dabei geht es um:

- Anzahl der E-Mail Nachrichten
- Anzahl der Ordner
- Anzahl der Mailboxen

...
<summary>
<backed_up_exchange_mailbox>12345 E-Mail-Nachricht(en) in 123 Ordner(n) in 123 Mailboxen gesichert</backed_up_exchange_mailbox>
<new_processed_bytes>12,345,657 Byte verarbeitet in 1 Stunden, 23 Minuten und 4 Sekunden.</new_processed_bytes>
<vlm_hist_rateformat2>Durchsatzrate: 123 MB/Min.</vlm_hist_rateformat2>
</summary>
...

Der Rest ist uninterresant.


Wie kann ich diese Angaben denn nun in Excel bekommen?
Da es etliche solcher Dateien sind, wär es eine irsinnige Arbeit, alles per Hand in Excel einzutragen.


Hoffe mir kann jemand weiterhelfen


MfG
Torsten.
Mitglied: gabrielgn
24.04.2006 um 12:18 Uhr
In Java könnte man das (Daten aus XML extrahieren) mit Hilfe von SAX oder DOM machen. Das Thema "in Excel einfügen habe ich auch im Zusammenhang mit Java gehört, aber selber nie probiert. Dennoch meine ich, dass es möglich ist.
Bitte warten ..
Mitglied: SGE-2001
24.04.2006 um 12:20 Uhr
Hallo,

hab leider absolut kein Plan von Java
Auch mit XML kenn ich mich eigentlich null aus.

Wäre halt cool gewesen wenn ich es trotzdem irgendwie hin bekmomen würde

Also es muss jetzt nicht zwingend in Excel eingefügt werden - wäre aber vorteilhaft.

Wenn ich jetzt die 3 Zahlenwerte in ne txt-Datei bekomme, wäre das auch schon ne grosse Hilfe!

Gibts nicht irgend ein Befehl, dass ich sagen kann "Gehe in Zeile xy, nimm die 1. Zahl und schreibe sie in die Datei xz" ??
Bitte warten ..
Mitglied: Biber
24.04.2006 um 13:11 Uhr
Du könntest mit einem Batch drüberlaufen und aus den relevanten XML-Tags mit einer FOR /F ...In (xmldate.xml) Do..-Anweisung eine *csv-Datei generieren.

Aber mit dem oben beschriebenen Sax-Parser wäre es etwas professioneller.
Ist das oben gepostete eine realistische XML-Datei?
Wenn ja, ist die Aufdröselung ziemlich simpel:

(Test am CMD-Prompt
for /f "delims=<> tokens=1-3" %i in (beispiel.xml) do @if [%i==backed_up_exchange_mailbox] @echo %j
12345 E-Mail-Nachricht(en) in 123 Ordner(n) in 123 Mailboxen gesichert

...und aus diesen Rohdaten wiederum Einzelfelder machen.
Und wenn Dich aus dieser "großen" XML-Datei nur 3 Tags interessieren, dann kannst Du vorher die relevaten Daten sogar mir "find" extrahieren.

Find "backed_up_exchange_mailbox" beispiel.xml >NurBackupSums.xml
..etc.

Grüße
Biber
Bitte warten ..
Mitglied: SGE-2001
24.04.2006 um 13:19 Uhr
Also der oben geschriebene Textauszug ist aus einer existierenden XML Datei (mit ausgedachten Zahlenwerten). Die XML Datei ist noch um einige Zeilen länger

Habe jetzt den Befehl mal in ne Dosbox (also cmd) eingegeben aber leider passiert nix:

for /f "delims=<> tokens=1-3" %i in (test.xml) do @if [%i==backed_up_exchange_mailbox] @echo %j

oder:

for /f "delims=<> tokens=1-3" %i in (c:\xml\test.xml) do @if [%i==backed_up_exchange_mailbox] @echo %j

Die XML Datei heisst "test.xml" und liegt unter C:\xml\test.xml

Oder anders gefragt, was sollte denn passieren, wenn ich den Befehl unter cmd eingeb?


Und das mit dem "find" (Find "backed_up_exchange_mailbox" beispiel.xml >NurBackupSums.xml)

Muss ich dass auch in cmd eingeben? Oder wie?


Sorry für die blöden Fragen, kenn mich aber damit nicht wirklich aus.
Bitte warten ..
Mitglied: Biber
24.04.2006 um 13:28 Uhr
Sorry, hatte zwei Zeichen zu viel gelöscht, pardon

for /f "delims=<> tokens=1-2" %i in (c:\xml\test.xml) do @if [%i]==[backed_up_exchange_mailbox] @echo %j

-oder-

for /f "delims=<> tokens=1-2" %i in ('Find "backed_up_exchange_mailbox" c:\xml\test.xml') do @echo %j

Die zweite Variante ist natürlich -zigmal schneller.

Gruß
biber
Bitte warten ..
Mitglied: SGE-2001
24.04.2006 um 15:02 Uhr
Was sollte denn passieren?

Bei mir kommt folgende ausgabe (cmd):

C:\XML>for /f "delims=<> tokens=1-2" %i in ('Find "backed_up_exchange_mailbox" c
:\xml\test.xml') do @echo %j
ECHO ist eingeschaltet (ON).
summary
new_processed_bytes
summary
new_processed_bytes

C:\XML>
Bitte warten ..
Mitglied: Biber
24.04.2006 um 15:21 Uhr
Das hier:
(=15:19:57 D:\temp=)

for /f "delims=<> tokens=1-2" %i in ('Find "backed_up_exchange_mailbox" f:\beispiel.xml') do @echo.%j

12345 E-Mail-Nachricht(en) in 123 Ordner(n) in 123 Mailboxen gesichert

-- ich schalte mal auf PN-Mode -- please mail a sample xmlfile to me... ---
Bitte warten ..
Mitglied: SGE-2001
25.04.2006 um 10:04 Uhr
Also mit dem Befehl:
Find "backed_up_exchange_mailbox" beispiel.xml >NurBackupSums.txt
hab ich jetzt genau dass, wass ich will in einer txt. Datei:


TEST.XML
</end_time><summary><backed_up_exchange_mailbox>653897 E-Mail-Nachricht(en) in 27355 Ordner(n) in 1110 Mailboxen gesichert
</backed_up_exchange_mailbox><new_processed_bytes>65,491,320,355 Byte verarbeitet in 9 Stunden, 13 Minuten und 7 Sekunden.
</end_time><summary><backed_up_exchange_mailbox>22941 E-Mail-Nachricht(en) in 266 Ordner(n) in 0 Mailboxen gesichert
</backed_up_exchange_mailbox><new_processed_bytes>2,320,620,068 Byte verarbeitet in 21 Minuten und 56 Sekunden.

mich interessieren jetzt allerdings nur diese beiden Sätze:
1. 653897 E-Mail-Nachricht(en) in 27355 Ordner(n) in 1110 Mailboxen gesichert
2. 22941 E-Mail-Nachricht(en) in 266 Ordner(n) in 0 Mailboxen gesichert

Wie kann ich diese denn jetzt aus der Datei rausziehn?
Und dann in Excel bekommen??

Oh man, das muss doch gehn
Bitte warten ..
Mitglied: Biber
25.04.2006 um 12:39 Uhr
..der Rest ist pillepalle:


(=12:33:11 D:\temp=) Demo am CMD-Prompt:
for /f "tokens=1,4,7" %i in ("12345 E-Mail-Nachricht(en) in 123 Ordner(n) in 123 Mailboxen gesichert") do @echo %i %j %k
12345 123 123

-oder im Batch:
Find "backed_up_exchange_mailbox" beispiel.xml|find "summary" >NurBackupSums.txt
for /f "tokens=1,4,7" %%i in (NurbackupSums.txt) do @echo %%i ;%%j;%%k >>Summary.csv

Dann stehen die drei Zahlen in der Summary.csv.

Thats all.
Gruß
Biber
Bitte warten ..
Mitglied: SGE-2001
04.05.2006 um 09:29 Uhr
Hallo,

bin soweit jetzt klar gekommen, mit folgendem Befehl:

Find "backed_up_exchange_mailbox" *.xml >temp.xls

Nun hab ich noch eine zweite Zeile in der XML Datei, die ich gerne mit in die xls Datei geschrieben hätte... Name in der XML Datei: "start_time"

Kann ich mit dem FIND nicht nach 2 Werten in der XML Datei suchen lassen?

Also so in der Art: Find "backed_up_exchange_mailbox" && "start_time" *.xml >temp.xls


SGE-2001
Bitte warten ..
Mitglied: Biber
04.05.2006 um 09:47 Uhr
Nein, SGE-2001,
Du musst 2 Find-Befehle nacheinander eingeben:

Find "backed_up_exchange_mailbox" beispiel.xml >NurBackupSums.txt
..und danach:
Find "start_time" beispiel.xml >>NurBackupSums.txt

Beachten musst Du nur, dass der zweite Find-Befehl "anhängen" soll mit ">>" statt die Extraktdatei neu zu erzeugen.

Alternativ könntest Du auch "Findstr.exe" statt "Find" verwenden. Dort kannst Du auch nach mehreren Suchtexten suchen.
Siehe in der Hilfe ( "FindStr.exe /?" )

Gruß
Biber
Bitte warten ..
Mitglied: SGE-2001
09.05.2006 um 11:11 Uhr
Hallo,

das mit den 2 Find Befehlen funktioniert zwar soweit, allerdings bei mehreren XML Dateien wird erst in allen XML Dateien nach "backed_up_exchange_mailbox" gesucht, das gefundene in die XLS Datei geschrieben; danach wird nach "start_time" gescuht und das gefundene auch in die XLS Datei geschreieben - nur halt hintendran.

Ich bräuchte es aber so, dass erst in der 1. XML Datei nach backed_up_exchange_mailbox", dann nach "start_time" gesucht wird, dass in eine XLS Datei geschriben wird und danach erst die nächste XML Datei durchsucht wird ... hoffe das war verständlich

Hier mal meine .bat Datei:

Find "backed_up_exchange_mailbox" *.xml >time.xls
Find "start_time" *.xml >>time.xls
pause

Mit *.xml werden halt alle XML Dateien, die in dem Verzeichnix liegen durchsucht.
Bitte warten ..
Mitglied: Biber
09.05.2006 um 12:47 Uhr
01.
For %%i in (*.xml) do ( 
02.
Find "backed_up_exchange_mailbox" %%i>>time.xls 
03.
Find "start_time" %%i>>time.xls)
Hope that Helps

Biber
Bitte warten ..
Mitglied: SGE-2001
09.05.2006 um 13:34 Uhr
Ok,

funktioniert bestens.
Danke !!!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

"Microsoft Excel kann die Daten nicht einfügen"

Frage von arik12Microsoft Office2 Kommentare

Hallo zusammen, ich habe Excel (2010) in zwei dateien auf zwei bilschirmen offen. Wenn ich jetzt von eine Excel ...

VB for Applications

XML Datei auslesen mit Excel

Frage von kaiuwe28VB for Applications10 Kommentare

Hallo zusammen, ich mal wieder Leider komme ich nicht weiter. Ich möchte aus einem Ordner mit mehreren XML Dateien ...

Microsoft Office

Excel Dateien durchsuchen und Teile extrahieren

gelöst Frage von BeranavanMicrosoft Office14 Kommentare

Hallo, ich habe eine große Menge an Excel Dateien, die gleichermaßen aufgebaut sind: In jeder Datei sind in Spalte ...

VB for Applications

Per vbscript neues element an xml datei einfügen

gelöst Frage von aletriVB for Applications1 Kommentar

guten abend an alle das xml file, dass dieser script bearbeitet sieht leer so aus: <?xml version="1.0"?> -<DynPlacement.Document> -<Config> ...

Neue Wissensbeiträge
Windows 10

Blackscreen nach dem Update von 1908 auf 1809 wenn der Rechner aus dem Standby gestartet wird

Tipp von FSX2010 vor 14 StundenWindows 103 Kommentare

Habt ihr den Samsung Treiber "Samsung_NVM_Express_Driver_3.0" installiert sollte dieser für 1809 deinstalliert werden da dieser nicht kompatibel ist. Der ...

Utilities
Teamviewer 14 Verbindungsprobleme mit Proxy
Tipp von PeterleB vor 1 TagUtilities

Nach dem Umstieg von Version 13 auf 14 wollte sich TV nicht mehr mit dem Netz verbinden, ignorierte offenbar ...

Administrator.de Feedback
Unsere Datenbank wurde umgestellt
Information von Frank vor 2 TagenAdministrator.de Feedback5 Kommentare

Hallo User, ich habe in der Nacht unsere Datenbank umgestellt. D.h. neue Version (MySQL 8) und andere Örtlichkeit. Sollte ...

Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 4 TagenSonstige Systeme8 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Heiß diskutierte Inhalte
Vmware
Gebrauchten ESXi- Server verkaufen: Festplatten DSGVO-konform löschen?
Frage von l.scheperVmware20 Kommentare

Hallo, wir möchten einen gebrauchten FUJITSU Server verkaufen. Auf dieser Maschine ist noch ein installiertes ESXi 5.1 und ne ...

Router & Routing
Dediziertes ISP -Routing
gelöst Frage von niLuxxRouter & Routing13 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Durch verschiedene Umstände kann es nun sein, dass sich zwei ...

Samba
Linux Server und Windows Linux Client
gelöst Frage von 137898Samba12 Kommentare

Hallo, ich bräuchte dringend bei der Aufgabe etwas Hilfe. Die Firma XYZ besteht auf zwei Abteilungen Logistik und Technik ...

Windows Server
Windows Server 2012 R2 Komponentenspeicher wurde beschädigt. Inplace Upgrade?
Frage von DeRo93Windows Server11 Kommentare

Hallo liebes Forum, Wir besitzen einen Domänencontroller der auf einem Windows Server 2012 R2 läuft. Dadurch, dass alle Windows ...