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, 15195 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

Excel Makro zum Einfügen von Daten aus anderen Excel Dateien

gelöst Frage von Tom77777Microsoft Office4 Kommentare

Hallo, ich bin neu hier im Forum und kenne mich leider nicht so gut mit Excel/VBA aus. Im Zuge ...

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 ...

Batch & Shell

Aus mehreren Excel-Dateien Daten auslesen und in eine Excel Datei einfügen - Batch

gelöst Frage von LegolegolasBatch & Shell7 Kommentare

Nachdem mir hier schon einmal geholfen wurde, möchte ich erneut um Eure Hilfe für einen Batch bieten. Folgendes Szenario: ...

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 ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 17 StundenE-Mail3 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 18 StundenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 22 StundenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 TagServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...