Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Fehler beim Einlesen von XML-Dateien

$
0
0

Hallo zusammen,

ich versuche mehrere XML-Dateien einzulesen und die Ausgabe für bestimmte Spalten Einträge in einer Datei auszugeben.

Hier ein Teil meines Scriptes:

$DebugPreference = "Continue"


#Suche nach folgenden Mustern in der Dateibeschreibung
$pattern2 = "QServer_64"
$pattern3= "QDBODBC_64_"


#Pfad des Logfile Ordners:
$path = "..."


#Suche Inhalt des Pfades

$files = ls $path -recurse| Where-Object {$_.Extension -eq '.xml'}
$files.gettype();


foreach ($file in $files) {
#Abfrage der Muster


    If($file -match $pattern2)
        {
        write-host "Lese Datei $file"

        [xml] $xmldoc =  Get-Content $file.FullName -encoding unknown
        $finalCSV_QServer += $xmldoc.document.root.logentries.logentry | Where {$_.logkind -like "Error" -or $_.logkind -like "Warning" -or $_.logkind -like "Caution" }

        }

      If($file -match $pattern3)
        {
        write-host "Lese Datei $file"
        [xml] $xmldoc2 = Get-Content $file.FullName -encoding unknown
        $finalQDBODBC += $xmldoc2.root.logentries.logentry | Where {$_.logkind -like "Error" -or $_.logkind -like "Warning" -or $_.logkind -like "Caution" }
        }

}

#Speichern der ausgabe in den gleichen Ordner im CSV Format:


Write-host "Speichere $path\NEUQ-Server.csv"
$finalCSV_QServer | Export-CSV  "$path\NEUQ-Server.csv" -NoType -Delimiter ";" -Encoding UTF8


Write-host "Speichere $path\NEUQ-DBODBC.csv"
$finalQDBODBC| Export-CSV "$path\NEUQ-DBODBC.csv" -NoType -Delimiter ";" -Encoding UTF8 

Mein Script funktioniert für einen Teil der XML-Dateien. Für den anderen Teil bekomme ich folgende Fehlermeldung:

Der Wert "System.Object[]" kann nicht in den Typ "System.Xml.XmlDocument" konvertiert werden. Fehler: "Ungültige Daten auf Stammebene. Zeile 1, Position 1."
Bei Zeile:31 Zeichen:22+         [xml] $xmldoc <<<<  =  Get-Content $file.FullName -encoding unknown+ CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataException+ FullyQualifiedErrorId : RuntimeException


Die Struktur der XML-Dateien ist bei allen gleich:

<root><logentries xmlns="log"><logentry><index></index> <starttime></starttime><pid></pid> <threadname></threadname><threadid></threadid> <logicalname></logicalname><error></error> <logkind></logkind></logentry></logentries></root>

Aktuell verstehe ich nicht wieso es hier zu einer Fehlermeldung kommt und wie ich diese bereinigen kann.

Kann mir jemand weiterhelfen bei dem Thema?



Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>