hackepetra

Mit Powershell Werte aus mehreren XML-Dateien auslesen

Hallo zusammen,

in einem Verzeichnis c:\temp liegen 3 XML-Daten, aus denen ich jeweils alle Werte aus dem Feld Artikelnr auslesen möchte.

Datei 1: 4711.xml
Datei 2: 4712.xml
Datei 3: 4713.xml

Das folgende Script gibt mir die gewünschte Information für die Datei 4711.xml aus.

$doc = [XML] (Get-Content -Path c:\temp\4711.xml)
$lPos = $doc.selectNodes("//Belegzeile")
$lPos | select Artikelnr

Wie muss ich das Script ändern, sodass alle XML-Dateien im Pfad c:\temp berücksichtigt werden?

Hat jemand eine Idee.

Vielen Dank im Voraus

VG
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 6379448119

Url: https://administrator.de/forum/mit-powershell-werte-aus-mehreren-xml-dateien-auslesen-6379448119.html

Ausgedruckt am: 06.06.2025 um 07:06 Uhr

3063370895
Lösung 3063370895 15.03.2023 aktualisiert um 14:07:08 Uhr
Goto Top
Hi,

ungetestet:
$files = Get-ChildItem -Path c:\temp\ -Filter *.xml
$files | Foreach-Object {
    $doc = [XML] (Get-Content -Path $_.FullName)
    $lPos = $doc.selectNodes("//Belegzeile")  
    $lPos | select Artikelnr
}
Hackepetra
Hackepetra 15.03.2023 um 14:14:18 Uhr
Goto Top
Erstmal vielen herzlichen Dank für die schnelle Antwort. PS liefert in der Ausgabe folgendes:

tajsy0wru4
.

Kann es vielleicht daran liegen, dass innerhalb einer Datei das Feld Artikelnr mehrmals vorhanden ist, also mehrere Belegzeilen pro Datei?
3063370895
3063370895 15.03.2023 um 14:16:49 Uhr
Goto Top
Ich hab das Skript nochmal geändert, bitte versuche es nochmal
Hackepetra
Hackepetra 15.03.2023 um 14:21:21 Uhr
Goto Top
das meinte ich n Belegzeilen pro XML-Datei

wdzspss2uu
Hackepetra
Hackepetra 15.03.2023 um 14:23:05 Uhr
Goto Top
Perfekt. Allerbesten Dank!!!
6247018886
6247018886 15.03.2023 aktualisiert um 15:17:19 Uhr
Goto Top
Moin.
Was sich dann auch noch auf das hier reduzieren ließe:
(Select-XML -Path "c:\temp\*.xml" -XPath '//Belegzeile/Artikelnr').Node.innerText  
Cheers briggs
Hackepetra
Hackepetra 16.03.2023 um 08:06:08 Uhr
Goto Top
Vielen Dank für den Hinweis. VG