none
Powershell XML Export-CSV RRS feed

  • Frage

  • Hallo

    Ich habe ein kleines Script gemacht, dass eine XML Datei liest und mir einige wenige Felder ausgibt. Das funktioniert bestens wenn ich die Datei mit Write-Output ausgebe - jedoch habe ich da pro Feld eine Zeile.

    Nun möchte ich aber nur eine Zeile pro Datensatz haben (Felder entweder mit Spaces " " oder ";" getrennt, mit export-csv erhalte ich aber einen ganz anderen Inhalt wie "Length" "9" "10" "10 etc.

    Kann mir jemand angeben wir ich die Daten richtig in die Datei bekomme?

    Vielen Dank und ein schönes Wochenende, Nebbiolo

     

    $in = 'datei.xml'
    $out = 'datei.csv'
    
    $XmlData = [xml](Get-Content $in )
    
    $node = $XmlData.document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry
    foreach ($entry in $node){ 
       $n1 = $n1 + $entry.NtryRef
       $n2 = $n2 + $entry.BookgDt.Dt
       $n3 = $n3 + $entry.ValDt.Dt
     } 
    
    $node = $XmlData.document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry.NtryDtls.TxDtls
    $names = @() 
    foreach ($entry in $node){
       $names = $names + $n1 + $n2 + $n3 +
       $entry.Refs.AcctSvcrRef + 
       $entry.Amt.'#text' +
       $entry.RmtInf.Strd.CdtrRefInf.Ref +
       $entry.RltdDts.AccptncDtTm
     } 
     
    #Write-Output $names > $out
    $names | export-csv $out -Delimiter ";" -NoType -Encoding UTF8




    • Bearbeitet nebbiolo Samstag, 24. Juni 2017 06:38
    Samstag, 24. Juni 2017 06:36

Antworten

Alle Antworten