Aquasuite logdatei(XML) - Diagramm erstellen (Excel)

Al_

Enthusiast
Thread Starter
Mitglied seit
08.01.2005
Beiträge
2.881
Ort
Magdeburg
Hi,
ich habe Temps in Aquasuite geloggt und möchte aus der XML ein Diagramm erstellen.
Die Daten in Excel zu kopieren is kein Ding, allerdings die ausgegebenen Daten in Spalten darstellen zu lassen bekomm ich nicht auf die Ketten.
Ich arbeite noch mit Excel 2003 wo das bei meinen anderen Anwendungen alles etwas einfacher war.
Daten -> Text in Spalten -> entsprechende Settings gesetzt und schon hatte ich alles was ich brauchte. Funzt hier aber nicht.
Hat einer ne Idee? Danke im Voraus.

Gruß Marc

Anbei Beispielzeilen aus der Logdatei.
<?xml version="1.0" encoding="utf-8"?>
<LogDataExport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>Interner Temperatursensor</name>
<exportTime>2023-05-10T12:54:29.729418+02:00</exportTime>
<logdata>
<LogDataSet>
<t>2023-05-10T11:54:37.000</t>
<value>27.39</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:54:47.000</t>
<value>27.39</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:54:57.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:07.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:17.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:28.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:38.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:48.000</t>
<value>27.49</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:55:58.000</t>
<value>27.58</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:08.000</t>
<value>27.58</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:18.000</t>
<value>27.58</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:28.000</t>
<value>27.58</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:38.000</t>
<value>27.58</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:48.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:56:58.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:08.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:18.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:28.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:38.000</t>
<value>27.68</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:48.000</t>
<value>27.78</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:57:58.000</t>
<value>27.78</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:08.000</t>
<value>27.78</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:18.000</t>
<value>27.78</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:28.000</t>
<value>27.87</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:38.000</t>
<value>27.87</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:48.000</t>
<value>27.87</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:58:58.000</t>
<value>27.87</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:08.000</t>
<value>27.87</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:18.000</t>
<value>27.97</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:28.000</t>
<value>27.97</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:38.000</t>
<value>27.97</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:48.000</t>
<value>27.97</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T11:59:58.000</t>
<value>27.97</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:09.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:19.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:29.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:39.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:49.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:00:59.000</t>
<value>28.07</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:09.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:19.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:29.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:39.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:49.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:01:59.000</t>
<value>28.16</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:09.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:19.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:29.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:39.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:49.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:02:59.000</t>
<value>28.26</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:09.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:19.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:29.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:39.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:49.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:03:59.000</t>
<value>28.36</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
<LogDataSet>
<t>2023-05-10T12:04:09.000</t>
<value>28.45</value>
<name>Interner Temperatursensor</name>
<unit>AquaComputer.DeviceAccess.Unit</unit>
</LogDataSet>
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Also erstmal: Könntest du dein Beispiel-XML bitte in [CODE] Tags und einen Spoiler packen? Ansonsten wird der Thread hier unglaublich nervig zu lesen.

In Office/Excel 2003 sind die XML Features nur in der Professional Edition enthalten. Die Hilfsdatei sollte dann auch einen entsprechenden Abschnitt haben.
Hier wäre eine Online-Anleitung für 2007+: https://support.microsoft.com/de-de...in-excel-f11faa7e-63ae-4166-b3ac-c9e9752a7d80
Das meiste davon ist auch für 2003 relevant. (Für dich speziell der Arbeiten mit wiederholten Zellen in XML-Tabellen Teil.)

Wenn du eine andere Edition verwendest oder dir das zu viel Einarbeitung ist kannst die Datei natürlich einfach zu CSV konvertieren:

Falls du PowerShell hast: ([xml](Get-Content aqualog.xml)).LogDataExport.logdata.ChildNodes | Export-Csv aqualog.csv

Ansonsten kannst du einfach einen beliebigen vernünftigen Texteditor Benutzen.
z.B. in Sublime Text Strg+F → Find: <t>(.+?)</t>\n<value>(.+?)</valueAlt + EnterStrg + C, A, VStrg + H → Replace: \1,\2Strg + Alt + Enter. Ditto für VS Code mit $1,$2 statt \1,\2. RegEx muss dafür beim Suchen / Ersetzen natürlich an sein.
 
Hi, ja habe Pro.
Gibt es irgendwie eine Abkürzung mit Excel?
Das Tutorial ist 11 Din A4 Seiten lang. Das kann Microsoft seinen Usern nich antun...
Was Powershell ist weiß ich nicht :-(
 
Gibt es irgendwie eine Abkürzung mit Excel?
Das Tutorial ist 11 Din A4 Seiten lang. Das kann Microsoft seinen Usern nich antun...
Naja, das Feature ist nicht wirklich (übermäßig) schwer zu benutzen, nur eben recht komplex. Letzten Endes wollte MS damit ja auch in erster Linie professionelle User ansprechen. Es gibt auch relativ kurze Video Tutorials wie dieses hier, die beziehen sich halt auf neuere Excel Versionen.
Was Powershell ist weiß ich nicht :-(
PowerShell ist (vereinfacht formuliert) ein Kommandozeileninterpreter und Skripumgebung. PS wurde von MS Ende 2006 eingeführt um ist seit Vista in allen Windows Versionen enthalten. Auf XP kann man es bis einschließlich Version 2.0 nachinstallieren.
Der Befehl oben braucht aber möglicherweise 3.0 oder neuer (enthalten ab Windows 8, nachinstallierbar unter 7), das kann ich gerade nicht testen.
 
Ich finde es toll das Microsoft professionelle User ansprechen möchte, dann sollte die Usability entsprechend auch professionell sein und eben nicht so sein das man 11 Seiten lesen muss
 
Naja, von von einem professionellen User würde ich erwarten, dass er sich einmalig in ein komplexes Thema einarbeiten kann, dafür bezahlt man ihn schließlich entsprechend. Alles andere kann auch eine ungelernte Hilfskraft.

Aber um mal zurück zum Thema zu kommen: Welche Windows (und damit ggf. PowerShell) Version verwendest du denn?
 
Die Leute sollen Arbeiten und nicht lesen.
Win 10 Pro
 
Die Leute sollen Arbeiten und nicht lesen.
Als jemand, der in der Vergangenheit selbst im IT-Bereich gearbeitet hat würde ich das anders sehen: Einen IT-Spezialisten bezahlt man dafür, dass er an seinem 8 Stunden Tag 6 Stunden Dokumentation ließt, eine halbe Stunde eine Automatisierung oder einen Workflow erarbeitet oder verbessert und das dann 1,5 Stunden testet um damit sich selbst und / oder anderen Mitarbeitern hunderte Stunden Arbeitszeit zu ersparen.

Mit einem „professionellen User“ beziehe ich mich hier natürlich explizit auf jemanden, den man bezahlt, weil er / sie sich mit Excel auskennt oder sich darin einarbeitet, nicht jeden User, der Excel im beruflichen Umfeld benutzt.


Dann ist das mit PS ja eh kein Problem.

Speicher dir einfach folgendes in einer Datei mit der Endung .ps1:
Code:
foreach ($xmlFile in $args)
{
    $xml = ([xml](Get-Content $xmlFile))
    $csvFile = [System.IO.Path]::ChangeExtension($xmlFile, ".csv")
    $xml.LogDataExport.logdata.ChildNodes | Export-Csv $csvFile
}
Dann kannst du dir eine Verknüpfung erstellen, die die Datei mit PowerShell ausführt (als Ziel der Verknüpfung C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file <DeinSkriptPfad>, wobei du <DeinSkriptPfad> (inklusive <>) durch den absoluten Pfad von deinem Skript ersetzt, z.B. C:\Users\Al\Desktop\aqualogzucsv.ps1).
Wenn du dann ein oder mehrere XML Dateien auf die Verknüpfung ziehst werden entsprechende CSV Dateien erstellt, die du wie gewohnt in Excel importieren kannst.
Du kannst die Verknüpfung auch in shell:sendto (einfach in die Explorer Adressleiste eingeben) ablegen, dann bekommst du eine entsprechende Option im „Senden an“ Kontextmenü.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh